summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xv-i15
1 files changed, 10 insertions, 5 deletions
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}")