optimized bro ui
This commit is contained in:
+10
-10
@@ -1,5 +1,5 @@
|
|||||||
# DeckBro: a simple DeckText/HTML browser for T-DeckARD environment
|
# DeckBro: a simple DeckText/HTML browser for T-DeckARD environment
|
||||||
# Usage: from app.bro import DeckBro
|
# Usage: from app.bro import bro
|
||||||
# Created by Luxferre in 2025-2026, released into public domain
|
# Created by Luxferre in 2025-2026, released into public domain
|
||||||
|
|
||||||
import re
|
import re
|
||||||
@@ -38,12 +38,12 @@ class DeckBro:
|
|||||||
|
|
||||||
def display(self):
|
def display(self):
|
||||||
curpage = 1
|
curpage = 1
|
||||||
totalpages = len(self.rendered_pages)
|
|
||||||
menustring = 'g)o r)ef b)ack f)wd n)ext p)rev l)ink or pg#: '
|
menustring = 'g)o r)ef b)ack f)wd n)ext p)rev l)ink or pg#: '
|
||||||
do_new_display = True
|
do_new_display = True
|
||||||
while True:
|
while True:
|
||||||
|
totalpages = len(self.rendered_pages)
|
||||||
if do_new_display and curpage > 0 and curpage <= totalpages:
|
if do_new_display and curpage > 0 and curpage <= totalpages:
|
||||||
print_paged(self.rendered_pages[curpage - 1])
|
print_paged('\x1b[2J' + self.rendered_pages[curpage - 1])
|
||||||
print(f'[{self.url}]')
|
print(f'[{self.url}]')
|
||||||
user_choice = input(menustring).strip()
|
user_choice = input(menustring).strip()
|
||||||
pgnum = None
|
pgnum = None
|
||||||
@@ -77,8 +77,8 @@ class DeckBro:
|
|||||||
if curpage < 1: # wrap around
|
if curpage < 1: # wrap around
|
||||||
curpage = totalpages
|
curpage = totalpages
|
||||||
elif ch_letter == 'g':
|
elif ch_letter == 'g':
|
||||||
|
do_new_display = True
|
||||||
self.go(user_opt)
|
self.go(user_opt)
|
||||||
break
|
|
||||||
elif ch_letter == 'l':
|
elif ch_letter == 'l':
|
||||||
addr = None
|
addr = None
|
||||||
try:
|
try:
|
||||||
@@ -89,19 +89,19 @@ class DeckBro:
|
|||||||
print('Invalid link number entered!')
|
print('Invalid link number entered!')
|
||||||
do_new_display = False
|
do_new_display = False
|
||||||
else:
|
else:
|
||||||
|
do_new_display = True
|
||||||
self.go(addr)
|
self.go(addr)
|
||||||
break
|
|
||||||
elif ch_letter == 'r':
|
elif ch_letter == 'r':
|
||||||
|
do_new_display = True
|
||||||
self.refresh()
|
self.refresh()
|
||||||
break
|
|
||||||
elif ch_letter == 'b':
|
elif ch_letter == 'b':
|
||||||
if self.back() is not None:
|
if self.back() is not None:
|
||||||
break
|
do_new_display = True
|
||||||
else:
|
else:
|
||||||
do_new_display = False
|
do_new_display = False
|
||||||
elif ch_letter == 'f':
|
elif ch_letter == 'f':
|
||||||
if self.forward() is not None:
|
if self.forward() is not None:
|
||||||
break
|
do_new_display = True
|
||||||
else:
|
else:
|
||||||
do_new_display = False
|
do_new_display = False
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ class DeckBro:
|
|||||||
if new_url.startswith('/'):
|
if new_url.startswith('/'):
|
||||||
new_url = base_url + new_url
|
new_url = base_url + new_url
|
||||||
else:
|
else:
|
||||||
new_url = current_url + '/' + new_url
|
new_url = current_url + new_url
|
||||||
self.url = re.sub(r'([^:])//+', r'\1/', 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:
|
||||||
@@ -131,7 +131,6 @@ class DeckBro:
|
|||||||
self.history.append(self.url)
|
self.history.append(self.url)
|
||||||
self.history_pos = len(self.history) - 1
|
self.history_pos = len(self.history) - 1
|
||||||
self.render()
|
self.render()
|
||||||
self.display()
|
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
self.go(self.url, update_history=False)
|
self.go(self.url, update_history=False)
|
||||||
@@ -156,3 +155,4 @@ class DeckBro:
|
|||||||
def bro(url=None):
|
def bro(url=None):
|
||||||
inst = DeckBro()
|
inst = DeckBro()
|
||||||
inst.go(url)
|
inst.go(url)
|
||||||
|
inst.display()
|
||||||
|
|||||||
Reference in New Issue
Block a user