Personal noctalia plugins collection
1#!/usr/bin/env python3
2"""List task lists (VTODO sources) from Evolution Data Server."""
3
4import json
5import sys
6
7import gi
8gi.require_version("EDataServer", "1.2")
9from gi.repository import EDataServer
10
11
12def main():
13 try:
14 registry = EDataServer.SourceRegistry.new_sync(None)
15 task_lists = []
16
17 for source in registry.list_sources(EDataServer.SOURCE_EXTENSION_TASK_LIST):
18 task_lists.append({
19 "uid": source.get_uid(),
20 "name": source.get_display_name(),
21 "enabled": source.get_enabled(),
22 })
23
24 print(json.dumps(task_lists))
25
26 except Exception as e:
27 print(json.dumps({"error": str(e)}), file=sys.stderr)
28 sys.exit(1)
29
30
31if __name__ == "__main__":
32 main()