From 48aebd6289aa8e35a475379f94f6e737e58ae553 Mon Sep 17 00:00:00 2001 From: sparky8512 <76499194+sparky8512@users.noreply.github.com> Date: Wed, 17 Aug 2022 13:59:22 -0700 Subject: [PATCH] Emit specific error if protocol modules not found This has now tripped up more than one user (see issues #47 and #53). There is a note in the README about this, but it's easy to miss if you don't read it thoroughly. --- dump_dish_status.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dump_dish_status.py b/dump_dish_status.py index 8496c88..3f6cee9 100644 --- a/dump_dish_status.py +++ b/dump_dish_status.py @@ -1,11 +1,19 @@ #!/usr/bin/python3 """Simple example of get_status request using grpc call directly.""" +import sys + import grpc -from spacex.api.device import device_pb2 -from spacex.api.device import device_pb2_grpc -from spacex.api.device import dish_pb2 +try: + from spacex.api.device import device_pb2 + from spacex.api.device import device_pb2_grpc + from spacex.api.device import dish_pb2 +except ModuleNotFoundError: + print("This script requires the generated gRPC protocol modules. " + "See README file for details.", + file=sys.stderr) + sys.exit(1) # Note that if you remove the 'with' clause here, you need to separately # call channel.close() when you're done with the gRPC connection.