Beispiel #1
0
 def _subscribe_request(self, subscribe, notification_type, session=None):
     request = api_pb2.Request()
     if session is not None:
         request.notification_request.session = session
     request.notification_request.subscribe = subscribe
     request.notification_request.notification_type = notification_type
     return request
Beispiel #2
0
        def list_sessions(ws):
            def callback(response):
                for window in response.list_sessions_response.windows:
                    for tab in window.tabs:
                        for session in tab.sessions:
                            subscribe_to_custom_escape_sequence(
                                ws, session.uniqueIdentifier)

            request = api_pb2.Request()
            request.list_sessions_request.SetInParent()
            SendRPC(ws, request, callback)
Beispiel #3
0
 def _create_tab_request(self,
                         profile=None,
                         window=None,
                         index=None,
                         command=None):
     request = api_pb2.Request()
     request.create_tab_request.SetInParent()
     if profile is not None:
         request.create_tab_request.profile_name = profile
     if window is not None:
         request.create_tab_request.window_id = window
     if index is not None:
         request.create_tab_request.tab_index = index
     if command is not None:
         request.create_tab_request.command = command
     return request
Beispiel #4
0
 def _split_pane_request(self,
                         session=None,
                         vertical=False,
                         before=False,
                         profile=None):
     request = api_pb2.Request()
     request.split_pane_request.SetInParent()
     if session is not None:
         request.split_pane_request.session = session
     if vertical:
         request.split_pane_request.split_direction = api_pb2.SplitPaneRequest.VERTICAL
     else:
         request.split_pane_request.split_direction = api_pb2.SplitPaneRequest.HORIZONTAL
     request.split_pane_request.before = False
     if profile is not None:
         request.split_pane_request.profile_name = profile
     return request
Beispiel #5
0
 def _send_text_request(self, session_id, text):
     request = api_pb2.Request()
     if session_id is not None:
         request.send_text_request.session = session_id
     request.send_text_request.text = text
     return request
Beispiel #6
0
 def _list_sessions_request(self):
     request = api_pb2.Request()
     request.list_sessions_request.SetInParent()
     return request
Beispiel #7
0
def run():
    channel = grpc.insecure_channel('localhost:50051')
    stub = api_pb2_grpc.CalcServiceStub(channel)
    response = stub.Calculate(api_pb2.Request(payload="123.45"))
    print("Response received:{}".format(response.payload))
Beispiel #8
0
 def f():
     request = api_pb2.Request()
     request.ParseFromString(message)
     logging.debug("SEND:\n" + str(request))
     self.send(message, opcode=websocket.ABNF.OPCODE_BINARY)
Beispiel #9
0
def on_open(ws):
    print "Connection opened"
    request = api_pb2.Request()
    request.notification_request.subscribe = True
    request.notification_request.notification_type = api_pb2.NOTIFY_ON_LOCATION_CHANGE
    SendRPC(ws, request, handle_notification_response)
Beispiel #10
0
def subscribe_to_custom_escape_sequence(ws, session):
    request = api_pb2.Request()
    request.notification_request.subscribe = True
    request.notification_request.session = session
    request.notification_request.notification_type = api_pb2.NOTIFY_ON_CUSTOM_ESCAPE_SEQUENCE
    SendRPC(ws, request, handle_notification_response)
Beispiel #11
0
def subscribe_to_new_sessions(ws):
    request = api_pb2.Request()
    request.notification_request.subscribe = True
    request.notification_request.notification_type = api_pb2.NOTIFY_ON_NEW_SESSION
    SendRPC(ws, request, handle_notification_response)