aboutsummaryrefslogtreecommitdiff
path: root/src/smp/builtins.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/smp/builtins.py')
-rw-r--r--src/smp/builtins.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/smp/builtins.py b/src/smp/builtins.py
index 9a27864..c1d67ce 100644
--- a/src/smp/builtins.py
+++ b/src/smp/builtins.py
@@ -2,6 +2,7 @@
import subprocess
import urllib.request
import urllib.error
+import urllib.parse
import datetime
import markdown
from gfm import AutolinkExtension, TaskListExtension # type: ignore
@@ -151,6 +152,14 @@ LINK_CACHE: dict[str, tuple[bool, int, str]] = dict()
def smp_builtin_wodl(macro_processor, link, timeout_seconds=5):
+ url = urllib.parse.urlparse(link)
+ link = (
+ url.scheme
+ + "://"
+ + url.netloc.encode("idna").decode("ascii")
+ + urllib.parse.quote(url.path)
+ )
+
if link in LINK_CACHE:
return LINK_CACHE[link]
@@ -179,3 +188,7 @@ def smp_builtin_dumpenv(macro_processor):
out += f"{repr(key)}: {repr(val)}\n"
out += "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
return out
+
+
+# TODO Add macro that spawns a interactive shell with the python env. would allow interactive debugging :)
+# needs to have a continue function or something (probably on C-d