github.com/looshlee/cilium@v1.6.12/examples/kubernetes-grpc/cc_door_client.py (about)

     1  # Copyright 2015 gRPC authors.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #     http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  
    15  """The Python implementation of the GRPC cloudcity.DoorManager client."""
    16  
    17  from __future__ import print_function
    18  
    19  import grpc
    20  
    21  import cloudcity_pb2
    22  import cloudcity_pb2_grpc
    23  import sys
    24  
    25  arg1 = 'GetName'
    26  arg2 = '1'
    27  arg3 = '99' 
    28  
    29  def run():
    30    channel = grpc.insecure_channel('cc-door-server:50051')
    31    stub = cloudcity_pb2_grpc.DoorManagerStub(channel)
    32    if arg1 == 'GetName':
    33      response = stub.GetName(cloudcity_pb2.DoorRequest(door_id=int(arg2)))
    34      print("Door name is: " + response.name)
    35    elif arg1 == 'GetLocation':
    36      response = stub.GetLocation(cloudcity_pb2.DoorRequest(door_id=int(arg2)))
    37      print("Door location is lat = %s long = %s" % (response.lat, response.long))
    38    elif arg1 == 'GetStatus':
    39      response = stub.GetStatus(cloudcity_pb2.DoorRequest(door_id=int(arg2)))
    40      if response.state == cloudcity_pb2.OPEN: 
    41          print("Door is open")
    42      else: 
    43          print("Door is closed")
    44    elif arg1 == 'RequestMaintenance':
    45      response = stub.RequestMaintenance(cloudcity_pb2.DoorMaintRequest(
    46              door_id=int(arg2), maint_description=arg3))
    47      if response.success: 
    48          print("Successfully submitted maintenance request")
    49      else: 
    50          print("Failed to submit maintenaince request") 
    51    elif arg1 == 'SetAccessCode':
    52      response = stub.SetAccessCode(cloudcity_pb2.DoorAccessCodeRequest(
    53              door_id=int(arg2), access_code=int(arg3)))
    54      if response.success: 
    55          print("Successfully set AccessCode to " + arg3)
    56      else: 
    57          print("Failed to set AccessCode") 
    58  
    59    else:
    60      print("Invalid call " + arg1)
    61      return
    62  
    63  if __name__ == '__main__':
    64    if len(sys.argv) > 1:
    65      arg1 = sys.argv[1]
    66    if len(sys.argv) > 2:
    67      arg2 = sys.argv[2]
    68    if len(sys.argv) > 3:
    69      arg3 = sys.argv[3]
    70  
    71    run()