diff options
| -rwxr-xr-x | generate-gallery.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/generate-gallery.py b/generate-gallery.py index 375adbd..8ddc0c0 100755 --- a/generate-gallery.py +++ b/generate-gallery.py @@ -43,6 +43,14 @@ def nested_set(data_dict, key_sequence, value): data_dict = data_dict.setdefault(key, {}) data_dict[key_sequence[-1]] = value +def nested_clean(d): + """Recursivly remove empty nested dict values from a dict""" + items = list(d.items()) + for key, value in items: + if isinstance(value, dict): + nested_clean(value) + if len(value) == 0: + del d[key] def load_projects(root: str, publishable=False) -> dict: """Load all game meta data from the games directory""" @@ -86,6 +94,11 @@ def load_projects(root: str, publishable=False) -> dict: nested_set(projects, parent.parts[1:], game) + ## Cleanup + # Remove empty directories from the project table + nested_clean(projects) + + # Remove the test project if there are other real projects if len(projects) > 1: del projects['test'] |
