summary refs log tree commit diff
path: root/.config/timewarrior/extensions/common.py
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-04-08 13:24:01 +0900
committerRobert Günzler <r@gnzler.io>2026-04-08 13:24:01 +0900
commit28db7c76e26c312918959384e02e433f8858de49 (patch)
treecc06c8ffa2444b49cbaf01d45aede08411d23049 /.config/timewarrior/extensions/common.py
parentb61b58ce2c1371d6f904f108fa7feed3abfbe5c7 (diff)
*
Automated-commit-by: dots
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.config/timewarrior/extensions/common.py')
-rw-r--r--.config/timewarrior/extensions/common.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/.config/timewarrior/extensions/common.py b/.config/timewarrior/extensions/common.py
new file mode 100644
index 0000000..19467cb
--- /dev/null
+++ b/.config/timewarrior/extensions/common.py
@@ -0,0 +1,30 @@
+import fileinput, json, sys
+import datetime
+
+def loadstdin() -> (any, any):
+	meta = {}
+	data = []
+
+	for line in fileinput.input(encoding='utf-8'):
+		mp = line.removesuffix('\n').split(': ')
+		if len(mp) == 2:
+			meta[mp[0]] = mp[1]
+
+		if line == "[\n" or len(data) != 0:
+			data.append(line)
+
+		pass
+
+	return (meta, json.loads("".join(data)))
+
+
+def dumpstdout(output) -> None:
+	print(json.dumps(output), end='')
+
+
+def parse_timedelta(s: str) -> datetime.timedelta:
+	t = datetime.datetime.strptime(s, '%H:%M')
+	return datetime.timedelta(hours=t.hour, minutes=t.minute)
+
+if __name__ == "__main__":
+	sys.exit(1)