From 3a9410741f4cca8eb7781d0d44304328bd1a71da Mon Sep 17 00:00:00 2001
From: Andreas Domanowski <andreas@domanowski.net>
Date: Tue, 28 Feb 2023 11:25:34 +0100
Subject: [PATCH] WIP: Add rudimentary implementation for importing to HedgeDoc

---
 hedgedoc_import.py | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 hedgedoc_import.py

diff --git a/hedgedoc_import.py b/hedgedoc_import.py
new file mode 100644
index 0000000..ef84b61
--- /dev/null
+++ b/hedgedoc_import.py
@@ -0,0 +1,36 @@
+import urllib.parse
+import urllib.request
+import os
+from pathlib import Path
+
+
+def traverse():
+    md_dir = "markdown"
+    folder = os.path.join(os.getcwd(), md_dir);
+    print("Trying to upload all files with extension \".md\" in folder \"" + folder + "\"");
+
+    for relative_filename in os.listdir(folder):
+        if relative_filename.endswith(".md"):
+            addressable_filename = os.path.join(folder, relative_filename)
+            print("Trying to upload: " + addressable_filename)
+            markdown_content = Path(addressable_filename).read_text()
+            free_url = Path(relative_filename).stem
+            import_document(free_url, markdown_content)
+
+
+def import_document(hedgedoc_free_url, content, session_id):
+    sanitized_free_url = hedgedoc_free_url.replace(" ", "%20")
+    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
+
+    url = 'https://md.inf.tu-dresden.de/notes/new/' + sanitized_free_url
+    session_id = session_id
+    headers = {'User-Agent': user_agent, "Cookie": f"connect.hedgeDoc.sid={session_id}",
+               "Content-Type": "text/markdown"}
+
+    pkt = str.encode(content)
+    req = urllib.request.Request(url, data=pkt, method='POST', headers=headers)
+    with urllib.request.urlopen(req) as response:
+        print("Go visit " + response.url + " with your browser in a logged-in session.")
+
+
+traverse()
-- 
GitLab