From ac1672eb83d36d57615b70fda3e907638018f013 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 8 Jul 2023 13:28:01 +0300 Subject: feat: log spec file in a pretty way Sponsored-by: author --- v-i | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'v-i') diff --git a/v-i b/v-i index c4772fc..4a922be 100755 --- a/v-i +++ b/v-i @@ -2,6 +2,7 @@ import argparse import glob +import json import logging import os import shutil @@ -455,14 +456,17 @@ class SystemSpec: for key in self._obj: setattr(self, key, self._obj[key]) - del self._obj self._check() def __repr__(self): - return repr( - {key: getattr(self, key) for key in dir(self) if not key.startswith("_")} - ) + return repr(self.as_dict()) + + def as_dict(self): + return {key: self._obj[key] for key in self._obj} + + def as_json(self): + return json.dumps(self.as_dict(), indent=4) def _check(self): try: @@ -514,7 +518,8 @@ def main(): log("v-i starts") system = SystemSpec(args.spec) - log(f"spec: {system!r}") + spec_json = system.as_json() + log(f"formatted spec:\n{spec_json}") cache = args.cache or cache_name(system) log(f"cache: {cache}") -- cgit v1.2.1