From 88246af4c7bc7be16fe3f72040dda0e51c42388c Mon Sep 17 00:00:00 2001 From: eFini Date: Thu, 14 Feb 2019 14:39:24 +1000 Subject: [PATCH] Allow uploader.py to compress rlog without upload permission (#471) * Always Compress - Make sure uploader to bzip2 rlog once it's completed without any upload permission. --- selfdrive/loggerd/uploader.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/selfdrive/loggerd/uploader.py b/selfdrive/loggerd/uploader.py index 6b35776ce0..ef72cab150 100644 --- a/selfdrive/loggerd/uploader.py +++ b/selfdrive/loggerd/uploader.py @@ -134,10 +134,16 @@ class Uploader(object): total_size += os.stat(fn).st_size return dict(name_counts), total_size + def next_file_to_compress(self): + for name, key, fn in self.gen_upload_files(): + if name == "rlog": + return (key, fn, 0) + return None + def next_file_to_upload(self, with_video): # try to upload log files first for name, key, fn in self.gen_upload_files(): - if name in ["rlog", "rlog.bz2"]: + if name == "rlog.bz2": return (key, fn, 0) if with_video: @@ -208,7 +214,7 @@ class Uploader(object): raise_on_thread(thread, SystemExit) thread.join() - def upload(self, key, fn): + def compress(self, key, fn): # write out the bz2 compress if fn.endswith("log"): ext = ".bz2" @@ -221,6 +227,9 @@ class Uploader(object): key += ext fn += ext + return (key, fn) + + def upload(self, key, fn): try: sz = os.path.getsize(fn) except OSError: @@ -275,6 +284,12 @@ def uploader_fn(exit_event): if exit_event.is_set(): return + d = uploader.next_file_to_compress() + if d is not None: + key, fn, _ = d + uploader.compress(key, fn) + continue + if not should_upload: time.sleep(5) continue