Skip to content

Commit 6598e27

Browse files
authored
move send of logs logic to mergin-client (#713)
1 parent e68b2ab commit 6598e27

File tree

2 files changed

+9
-28
lines changed

2 files changed

+9
-28
lines changed

Mergin/projects_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ def submit_logs(self, project_dir):
434434
return
435435

436436
with OverrideCursor(Qt.CursorShape.WaitCursor):
437-
log_file_name, error = send_logs(get_stored_mergin_server_url(), self.mc.username(), logs_path)
437+
log_file_name, error = send_logs(self.mc, logs_path)
438438

439439
if error:
440440
QMessageBox.warning(

Mergin/utils.py

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -296,46 +296,27 @@ def is_versioned_file(file):
296296
return f_extension in diff_extensions
297297

298298

299-
def send_logs(mergin_url: str, username: str, logfile: str):
299+
def send_logs(mc: MerginClient, logfile: str):
300300
"""Send mergin-client logs to dedicated server
301301
302+
:param mc: MerginClient instance
302303
:param logfile: path to logfile
303304
:returns: name of submitted file, error message
304305
"""
305-
system = platform.system().lower()
306+
system = platform.system()
306307
version = plugin_version()
307-
# also read global mergin client log
308-
global_log_file = os.environ.get("MERGIN_CLIENT_LOG", None)
309-
310-
params = {"app": "plugin-{}-{}".format(system, version), "username": username}
311-
url = MERGIN_LOGS_URL + "?" + urllib.parse.urlencode(params)
312-
header = {"content-type": "text/plain"}
313308

314309
meta = "Plugin: {} \nQGIS: {} \nSystem: {} \nMergin Maps URL: {} \nMergin Maps user: {} \n--------------------------------\n\n".format(
315-
version, get_qgis_version_str(), system, mergin_url, username
310+
version, get_qgis_version_str(), system, mc.url, mc.username()
316311
)
312+
global_log_file = os.environ.get("MERGIN_CLIENT_LOG", None)
317313

318-
global_logs = b""
319-
if global_log_file and os.path.exists(global_log_file):
320-
with open(global_log_file, "rb") as f:
321-
if os.path.getsize(global_log_file) > 100 * 1024:
322-
f.seek(-100 * 1024, os.SEEK_END)
323-
global_logs = f.read() + b"\n--------------------------------\n\n"
324-
325-
with open(logfile, "rb") as f:
326-
if os.path.getsize(logfile) > 512 * 1024:
327-
f.seek(-512 * 1024, os.SEEK_END)
328-
logs = f.read()
329-
330-
payload = meta.encode() + global_logs + logs
331314
try:
332-
req = urllib.request.Request(url, data=payload, headers=header)
333-
resp = urllib.request.urlopen(req)
334-
log_file_name = resp.read().decode()
315+
resp = mc.send_logs(logfile, global_log_file, application="plugin-{}-{}".format(system, version), meta=meta)
335316
if resp.msg != "OK":
336317
return None, str(resp.reason)
337-
return log_file_name, None
338-
except (HTTPError, URLError) as e:
318+
return logfile, None
319+
except (HTTPError, URLError, ClientError) as e:
339320
return None, str(e)
340321

341322

0 commit comments

Comments
 (0)