Broken project to implement a cross-protocol browser in textual
Diffstat (limited to 'protocol/gemini.py')
| -rw-r--r-- | protocol/gemini.py | 13 |
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: |