From d6da0c421c38c1218f7243bf28381f309019722d Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sun, 2 Oct 2016 14:23:05 +0200 Subject: [PATCH] Better json compressing --- src/Site/SiteStorage.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/Site/SiteStorage.py b/src/Site/SiteStorage.py index 610fc159..4b5f373a 100644 --- a/src/Site/SiteStorage.py +++ b/src/Site/SiteStorage.py @@ -233,22 +233,15 @@ class SiteStorage(object): # Write formatted json file def writeJson(self, inner_path, data): content = json.dumps(data, indent=1, sort_keys=True) + # Make it a little more compact by removing unnecessary white space - - def compact_list(match): - if "\n" in match.group(1): - return "[ " + match.group(1).strip() + " ]" - else: - return match.group(0) - def compact_dict(match): - if "\n" in match.group(1): - return "{ " + match.group(1).strip() + " }" + if "\n" in match.group(0): + return match.group(0).replace(match.group(1), match.group(1).strip()) else: return match.group(0) - content = re.sub("\[([^,\{\[]{10,100}?)\]", compact_list, content, flags=re.DOTALL) - content = re.sub("\{([^,\[\{]{10,100}?)\}", compact_dict, content, flags=re.DOTALL) + content = re.sub("\{(\n[^,\[\{]{10,100}?)\}[, ]{0,2}\n", compact_dict, content, flags=re.DOTALL) # Remove end of line whitespace content = re.sub("(?m)[ ]+$", "", content)