Broken project to implement a cross-protocol browser in textual
Diffstat (limited to 'protocol/gemini.py')
-rw-r--r--protocol/gemini.py13
1 files changed, 13 insertions, 0 deletions
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: