happy new year

This commit is contained in:
Luxferre
2026-01-01 00:07:59 +02:00
parent e5c6e139d4
commit 4e59993b99
+14 -2
View File
@@ -2,6 +2,7 @@
# Usage: from app.bro import DeckBro # Usage: from app.bro import DeckBro
# Created by Luxferre in 2025-2026, released into public domain # Created by Luxferre in 2025-2026, released into public domain
import re
from deck.pager import print_paged from deck.pager import print_paged
from deck.input import input, input_multi from deck.input import input, input_multi
from deck.menu import menu from deck.menu import menu
@@ -9,7 +10,7 @@ from deck.http import http_fetch, http_set_ua
from deck.text import DeckText from deck.text import DeckText
class DeckBro: class DeckBro:
def __init__(self, start_url=None): def __init__(self, start_url=''):
self.history = [] self.history = []
self.rendered_pages = [] self.rendered_pages = []
self.history_pos = 0 # always refers to the current slot self.history_pos = 0 # always refers to the current slot
@@ -105,8 +106,19 @@ class DeckBro:
do_new_display = False do_new_display = False
def go(self, url=None, update_history=True): def go(self, url=None, update_history=True):
base_url = ''
current_url = self.url
match = re.search(r'^(https?://[^/]+)', current_url)
if match:
base_url = match.group(1)
if url: if url:
self.url = url.strip() new_url = url.strip()
if current_url != '' and not new_url.lower().startswith('http'):
if new_url.startswith('/'):
new_url = base_url + new_url
else:
new_url = current_url + '/' + new_url
self.url = re.sub(r'([^:])//+', r'\1/', new_url)
status, pagetext = http_fetch(self.url) status, pagetext = http_fetch(self.url)
if status != 200: if status != 200:
if pagetext == '': if pagetext == '':