From 7c5eeeaa7fb8e18f53bb26da848c44d72add9700 Mon Sep 17 00:00:00 2001 From: Zepmanbc Date: Tue, 19 May 2020 10:56:15 +0200 Subject: [PATCH] add logging debug on request/response --- creopyson/connection.py | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/creopyson/connection.py b/creopyson/connection.py index 89e9930..cc1bd8e 100755 --- a/creopyson/connection.py +++ b/creopyson/connection.py @@ -1,9 +1,12 @@ """Connection module.""" import requests import json +import logging from pathlib import Path from .exceptions import MissingKey, ErrorJsonDecode +lg = logging.getLogger(__name__) + class Client(object): """Creates Client object.""" @@ -11,7 +14,7 @@ class Client(object): def __init__(self, ip_adress="localhost", port=9056): """Create Client objet. Define server and sessionID vars.""" self.server = "http://{}:{}/creoson".format(ip_adress, port) - self.sessionId = '' + self.sessionId = "" def connect(self): """Connect to CREOSON. @@ -43,8 +46,9 @@ def _creoson_post(self, command, function, data=None, key_data=None): "sessionId": self.sessionId, "command": command, "function": function, - "data": data + "data": data, } + lg.debug("request: %s", str(request)) try: r = requests.post(self.server, data=json.dumps(request)) except requests.exceptions.RequestException as e: @@ -55,9 +59,9 @@ def _creoson_post(self, command, function, data=None, key_data=None): try: json_result = r.json() + lg.debug("response: %s", str(json_result)) except TypeError: - raise ErrorJsonDecode( - "Cannot decode JSON, creoson result invalid.") + raise ErrorJsonDecode("Cannot decode JSON, creoson result invalid.") if "status" not in json_result.keys(): raise MissingKey("Missing `status` in creoson result.") @@ -70,8 +74,7 @@ def _creoson_post(self, command, function, data=None, key_data=None): error_msg = json_result["status"]["message"] raise RuntimeError(error_msg) - if request["command"] == "connection" and\ - request["function"] == "connect": + if request["command"] == "connection" and request["function"] == "connect": if "sessionId" not in json_result.keys(): raise MissingKey("Missing `sessionId` in creoson result.") else: @@ -81,8 +84,7 @@ def _creoson_post(self, command, function, data=None, key_data=None): if "data" not in json_result.keys(): raise MissingKey("Missing `data` in creoson return") if key_data not in json_result["data"].keys(): - raise MissingKey( - "Missing `{}` in creoson result".format(key_data)) + raise MissingKey("Missing `{}` in creoson result".format(key_data)) return json_result["data"][key_data] return json_result.get("data", None) @@ -93,7 +95,7 @@ def disconnect(self): Empty sessionId. """ self._creoson_post("connection", "disconnect") - self.sessionId = '' + self.sessionId = "" def is_creo_running(self): """Check whether Creo is running. @@ -111,11 +113,7 @@ def is_creo_running(self): """ # return self._creoson_post("connection", "is_creo_running")["running"] - return self._creoson_post( - "connection", - "is_creo_running", - key_data="running" - ) + return self._creoson_post("connection", "is_creo_running", key_data="running") def kill_creo(self): """Kill primary Creo processes. @@ -176,7 +174,7 @@ def start_creo(self, path, retries=0, use_desktop=False): "start_dir": start_dir, "start_command": start_command, "retries": retries, - "use_desktop": use_desktop + "use_desktop": use_desktop, } return self._creoson_post("connection", "start_creo", data)