From 12d07e873ea21263fbacb5e0193d38893ceff846 Mon Sep 17 00:00:00 2001 From: Qrius Date: Wed, 5 Mar 2025 11:10:07 +0100 Subject: Seemingly up to scratch now --- src/smp/builtins.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/smp/builtins.py') 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 -- cgit v1.2.3