38 lines
1000 B
Python
38 lines
1000 B
Python
#!/usr/bin/env python3
|
|
import json
|
|
import os
|
|
import sys
|
|
import urllib.request
|
|
|
|
def main():
|
|
if len(sys.argv) < 2:
|
|
print(json.dumps({"ok": False, "error": "missing title"}, ensure_ascii=False))
|
|
return
|
|
|
|
url = os.environ.get("N8N_TODO_WEBHOOK_URL")
|
|
if not url:
|
|
print(json.dumps({"ok": False, "error": "N8N_TODO_WEBHOOK_URL not set"}, ensure_ascii=False))
|
|
return
|
|
|
|
title = sys.argv[1]
|
|
due = sys.argv[2] if len(sys.argv) > 2 else ""
|
|
reminder = sys.argv[3] if len(sys.argv) > 3 else due
|
|
|
|
payload = {
|
|
"title": title,
|
|
"due": due,
|
|
"reminder": reminder,
|
|
}
|
|
|
|
req = urllib.request.Request(
|
|
url,
|
|
data=json.dumps(payload).encode("utf-8"),
|
|
headers={"Content-Type": "application/json"},
|
|
method="POST",
|
|
)
|
|
|
|
with urllib.request.urlopen(req, timeout=20) as resp:
|
|
print(resp.read().decode("utf-8", "ignore"))
|
|
|
|
if __name__ == "__main__":
|
|
main() |