@@ -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: {} \n QGIS: {} \n System: {} \n Mergin Maps URL: {} \n Mergin 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