From e78bd92b7f6980adc9965463704f8f347825f0cf Mon Sep 17 00:00:00 2001 From: Thomas Karl Pietrowski Date: Wed, 22 Jun 2016 14:01:23 +0200 Subject: [PATCH 1/3] SliceInfo: Adding all containers as serialized data --- plugins/SliceInfoPlugin/SliceInfo.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 7ca9e0241e..6053e20f98 100644 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -26,8 +26,8 @@ catalog = i18nCatalog("cura") # The data is only sent when the user in question gave permission to do so. All data is anonymous and # no model files are being sent (Just a SHA256 hash of the model). class SliceInfo(Extension): - info_url = "https://stats.youmagine.com/curastats/slice" - + info_url = "https://stats.youmagine.com/curastats/slice" + def __init__(self): super().__init__() Application.getInstance().getOutputDeviceManager().writeStarted.connect(self._onWriteStarted) @@ -82,7 +82,7 @@ class SliceInfo(Extension): "processor": platform.processor(), "machine": platform.machine(), "platform": platform.platform(), - "global_settings": global_container_stack.serialize(), + "settings": global_container_stack.serialize(), # global_container with references on used containers "version": Application.getInstance().getVersion(), "modelhash": "None", "printtime": str(print_information.currentPrintTime), @@ -90,6 +90,8 @@ class SliceInfo(Extension): "language": Preferences.getInstance().getValue("general/language"), "materials_profiles ": {} } + for container in global_container_stack.getContainers(): + submitted_data["settings_%s" %(container.getId())] = container.serialize() # This can be anything, eg. INI, JSON, etc. # Convert data to bytes submitted_data = urllib.parse.urlencode(submitted_data) From 4bc5883ad792078ade196610ee83adb967c95d8f Mon Sep 17 00:00:00 2001 From: Thomas Karl Pietrowski Date: Wed, 22 Jun 2016 14:30:20 +0200 Subject: [PATCH 2/3] SliceInfo: Check for available data before submitting it The code here is self-explaining again.. --- plugins/SliceInfoPlugin/SliceInfo.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index bef725cae0..f98e2d8da4 100644 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -91,7 +91,15 @@ class SliceInfo(Extension): "materials_profiles ": {} } for container in global_container_stack.getContainers(): - submitted_data["settings_%s" %(container.getId())] = container.serialize() # This can be anything, eg. INI, JSON, etc. + container_id = container.getId() + container_serialized = container.serialize() + if container_serialized: + submitted_data["settings_%s" %(container_id)] = container_serialized # This can be anything, eg. INI, JSON, etc. + else: + Logger.log("i", "No data found in %s to be serialized!", container_id) + + for key in submitted_data.keys(): + print("%s -> %s" %(key, submitted_data[key])) # Convert data to bytes submitted_data = urllib.parse.urlencode(submitted_data) From 3ea11d306375c6f16574ac2d904edd7e6c2cc9ce Mon Sep 17 00:00:00 2001 From: Thomas Karl Pietrowski Date: Wed, 22 Jun 2016 14:35:19 +0200 Subject: [PATCH 3/3] SliceInfo: Removing debug code --- plugins/SliceInfoPlugin/SliceInfo.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index f98e2d8da4..a9cfe2d83a 100644 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -98,9 +98,6 @@ class SliceInfo(Extension): else: Logger.log("i", "No data found in %s to be serialized!", container_id) - for key in submitted_data.keys(): - print("%s -> %s" %(key, submitted_data[key])) - # Convert data to bytes submitted_data = urllib.parse.urlencode(submitted_data) binary_data = submitted_data.encode("utf-8")