Fabian Peter Hammerle 6 år sedan
incheckning
85413ba639
1 ändrade filer med 57 tillägg och 0 borttagningar
  1. 57 0
      log-location

+ 57 - 0
log-location

@@ -0,0 +1,57 @@
+#!/data/data/com.termux/files/usr/bin/python3
+
+import datetime
+import json
+import os
+import pytz
+import subprocess
+import sys
+import yaml
+
+
+def to_iso6801_basic(dt):
+    return dt.isoformat().replace(':', '').replace('-', '') \
+        .replace('+0000', 'Z')
+
+
+def compute(target_dir_path):
+    loc_json = subprocess.check_output(['termux-location', '-p', 'network']) \
+        .decode(sys.stdout.encoding)
+    req_time = datetime.datetime.now(pytz.utc)
+    loc_attr = yaml.load(loc_json)
+    target_path = os.path.join(
+        target_dir_path,
+        '{}.yml'.format(to_iso6801_basic(req_time)),
+    )
+    with open(target_path, 'w') as f:
+        f.write(yaml.dump(
+            loc_attr,
+            default_flow_style=False,
+        ))
+
+
+def _init_argparser():
+    import argparse
+    argparser = argparse.ArgumentParser(description=None)
+    argparser.add_argument(
+        '--target-dir',
+        metavar='PATH',
+        dest='target_dir_path',
+        default='.',
+    )
+    return argparser
+
+
+def main(argv):
+    argparser = _init_argparser()
+    try:
+        import argcomplete
+        argcomplete.autocomplete(argparser)
+    except ImportError:
+        pass
+    args = argparser.parse_args(argv)
+    compute(**vars(args))
+    return 0
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv[1:]))