From 09b393bf5de74e11a4a46ab4c697175e4ca8a480 Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Sat, 24 Dec 2022 07:24:28 -0500 Subject: browset: Support clicking buttons (relative path) --- protocol/gemini.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'protocol/gemini.py') diff --git a/protocol/gemini.py b/protocol/gemini.py index c55e523..ec51b7c 100644 --- a/protocol/gemini.py +++ b/protocol/gemini.py @@ -2,6 +2,19 @@ import socket import ssl class GeminiProtocol(): + def relativeURL(path, prevurl): + if path.startswith("/"): + url = '/'.join(prevurl.split("/")[0:3])+path + else: + base = prevurl + if base.count('/') >= 3: + base = '/'.join(prevurl.split('/')[0:-1]) + while path.startswith("../"): + base = '/'.join(base.split('/')[0:-1]) + path = path.replace("../","",1) + url = base + '/' + path + return url + def get(url): hostname = _gethostname(url) try: -- cgit 1.4.1