From 334541e8dc28c688c52e6fe1f1d9220fd78eebc8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 8 Jan 2017 17:45:03 +0530 Subject: [PATCH] Ensure temp files dont pollute the config dir Also fix cached values not being de-serialized on python < 3.6 --- kitty/config.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kitty/config.py b/kitty/config.py index 49a36844e..ebe836f9e 100644 --- a/kitty/config.py +++ b/kitty/config.py @@ -190,7 +190,7 @@ def load_cached_values(): cached_values.clear() try: with open(cached_path, 'rb') as f: - cached_values.update(json.loads(f.read())) + cached_values.update(json.loads(f.read().decode('utf-8'))) except FileNotFoundError: pass except Exception as err: @@ -205,3 +205,10 @@ def save_cached_values(): os.rename(p, cached_path) except Exception as err: print('Failed to save cached values with error: {}'.format(err), file=sys.stderr) + finally: + try: + os.remove(p) + except FileNotFoundError: + pass + except Exception as err: + print('Failed to delete temp file for saved cached values with error: {}'.format(err), file=sys.stderr)