15 def internal(signal, frame):
26 _plugin_manager =
None 37 has_data_config = rospy.has_param(rospy.get_name() +
"/data")
38 if not has_data_config:
39 rospy.logdebug(
"no data config. ignore data events")
41 has_media_config = rospy.has_param(rospy.get_name() +
"/media")
48 if "result" not in event:
50 if "event" not in event[
"result"]:
53 request_type = event[
"result"][
"request_type"]
54 if request_type ==
"PEER":
56 event, has_data_config, has_media_config
58 elif request_type ==
"DATA":
61 elif request_type ==
"MEDIA":
67 if event[
"result"][
"event"] ==
"OPEN":
68 rospy.loginfo(
"you can send data now")
69 elif event[
"result"][
"event"] ==
"CLOSE":
74 '{"request_type": "SYSTEM", "command": "SHUTDOWN"}' 76 rospy.signal_shutdown(
"finish")
77 elif event[
"result"][
"event"] ==
"CONNECTION":
78 data_connection_id = event[
"result"][
"data_params"][
90 data_connection_status_request
92 rospy.loginfo(
"DataConnection Status")
93 rospy.loginfo(data_connection_status_response)
97 if not has_data_config:
100 if "metadata" not in event[
"result"][
"status"]:
103 metadata = json.loads(event[
"result"][
"status"][
"metadata"])
104 if metadata
and "connection_id" in metadata:
105 plugin_id = metadata[
"connection_id"]
107 data_connection_id, plugin_id
114 if not event[
"is_success"]:
117 if event[
"result"][
"event"] ==
"CLOSE":
119 event[
"result"][
"data_connection_id"]
128 if not rospy.has_param(rospy.get_name() +
"/peer_id"):
129 rospy.logerr(
"no peer_id")
131 peer_id = rospy.get_param(rospy.get_name() +
"/peer_id")
133 if "API_KEY" not in os.environ:
134 rospy.logerr(
"no API_KEY")
135 rospy.logerr(
"exiting")
138 key = os.environ[
"API_KEY"]
142 if not peer_create_response[
"is_success"]:
146 peer_id = peer_create_response[
"result"][
"peer_id"]
147 token = peer_create_response[
"result"][
"token"]
153 rospy.loginfo(
"Peer Object has been created")
154 rospy.loginfo(status_response)
160 event_thread = EventListener(peer_id, token)
167 if __name__ ==
"__main__":
168 rospy.init_node(
"my_node", log_level=rospy.INFO)
def create_peer_status_request(peer_id, token)
def skyway_event(peer_id, token)
def skyway_control(json_str)
def signal_handler(peer_id, token)
def delete_peer_request(peer_id, token)
def _media_event_react(self, event)
def _data_event_react(self, event)
def _peer_event_react(self, event, has_data_config, has_media_config)
def create_peer_request(peer_id, api_key)
def __init__(self, peer_id, token)
def redirect_request(data_connection_id, plugin_info)
def create_data_status_request(data_connection_id)