From 112db3e54286d6491b13259f15453d9e64343266 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Mon, 18 Sep 2023 18:33:13 -0400 Subject: [PATCH] Adding upgrade script and removing unnecessary checks --- scripts/upgrade-2.2.py | 26 ++++++++++++++++++++++++++ src/transpose/transpose.py | 8 ++++---- 2 files changed, 30 insertions(+), 4 deletions(-) create mode 100755 scripts/upgrade-2.2.py diff --git a/scripts/upgrade-2.2.py b/scripts/upgrade-2.2.py new file mode 100755 index 0000000..6e25795 --- /dev/null +++ b/scripts/upgrade-2.2.py @@ -0,0 +1,26 @@ +""" +Loop through entries and ensure using the latest 2.2 entities + +This means adding the following new fields to each entry: + * created (2.1) + * enabled (2.2) +""" +import json + +from transpose import DEFAULT_STORE_PATH, TransposeConfig + + +def main() -> None: + config_file = f"{DEFAULT_STORE_PATH}/transpose.json" + with open(config_file, "r") as f: + d = json.load(f) + + config = TransposeConfig() + for entry_name in d["entries"]: + config.add(entry_name, d["entries"][entry_name]["path"]) + + config.save(config_file) + + +if __name__ == "__main__": + main() diff --git a/src/transpose/transpose.py b/src/transpose/transpose.py index e4048fa..98c7c19 100644 --- a/src/transpose/transpose.py +++ b/src/transpose/transpose.py @@ -140,9 +140,9 @@ class TransposeConfig: config.add( name, entry["path"], - created=entry.get("created"), + created=entry["created"], ) - if "enabled" in entry and not entry["enabled"]: + if not entry["enabled"]: config.disable(name) except (KeyError, TypeError) as e: raise TransposeError(f"Unrecognized Transpose config file format: {e}") @@ -197,7 +197,7 @@ class Transpose: raise TransposeError(f"Entry does not exist: '{name}'") entry = self.config.entries[name] - if hasattr(entry, "enabled") and not entry.enabled and not force: + if not entry.enabled and not force: raise TransposeError(f"Entry '{name}' is not enabled in the config") entry_path = Path(entry.path) @@ -229,7 +229,7 @@ class Transpose: raise TransposeError(f"Could not locate entry by name: '{name}'") entry = self.config.entries[name] - if hasattr(entry, "enabled") and not entry.enabled and not force: + if not entry.enabled and not force: raise TransposeError(f"Entry '{name}' is not enabled in the config") entry_path = Path(entry.path)