Compare commits

..

No commits in common. "a65f7ceb399dc5aebc8a9cc330e049bc9ef69dd2" and "8de79a6e5afd1e469b8d83c278272b732d320e86" have entirely different histories.

5 changed files with 38 additions and 43 deletions

View file

@ -1,22 +1,39 @@
TODO TODO DONE
---------------------------------------- --------------------------------------------------------------------------------
bug: can't input unicode browsing
bug: xterm is borked links
dumb rendering mode per site redirections
well, preferences per site maybe? web links
does encoding really work? cf. egsam history (back)
get/set config using command-line simple caching
more UT simple text files
setup.py encodings
bookmarks
view/edit sources
downloads
configuration
help page
TOFU
view history
open last download
media files
identity management
logging
home page
BACKLOG BACKLOG
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
bug: can't input unicode
click on links to open them click on links to open them
bug: exiting editor breaks curses
dumb rendering mode per site
well, preferences per site maybe?
download without memory buffer download without memory buffer
download in the background download in the background
download view instead of last download download view instead of last download
does encoding really work? cf. egsam
margins / centering margins / centering
pre blocks folding pre blocks folding
buffers (tabs) buffers (tabs)
@ -29,28 +46,6 @@ gopher?
opt. maintain history between sessions opt. maintain history between sessions
history (forward) (useful?) history (forward) (useful?)
search in page (ugh) search in page (ugh)
get/set config using command-line
bug: xterm is borked
more UT
DONE
--------------------------------------------------------------------------------
browsing
links
redirections
web links
history (back)
simple caching
simple text files
encodings
bookmarks
view/edit sources
downloads
configuration
help page
TOFU
view history
open last download
media files
identity management
logging
home page

View file

@ -9,7 +9,7 @@ import subprocess
import tempfile import tempfile
from math import inf from math import inf
from pathlib import Path from pathlib import Path
from typing import Optional, Tuple from typing import Dict, Optional, Tuple
from bebop.bookmarks import ( from bebop.bookmarks import (
get_bookmarks_path, get_bookmarks_path,

View file

@ -6,7 +6,9 @@ from typing import Optional
from bebop.browser.browser import Browser from bebop.browser.browser import Browser
from bebop.command_line import CommandLine from bebop.command_line import CommandLine
from bebop.fs import get_downloads_path, get_identities_list_path from bebop.fs import (
get_downloads_path, get_identities_path, get_identities_list_path
)
from bebop.identity import ( from bebop.identity import (
ClientCertificateException, create_certificate, get_cert_and_key, ClientCertificateException, create_certificate, get_cert_and_key,
get_identities_for_url, load_identities, save_identities get_identities_for_url, load_identities, save_identities
@ -293,7 +295,7 @@ def _handle_cert_required(
""" """
identities = load_identities(get_identities_list_path()) identities = load_identities(get_identities_list_path())
if not identities: if not identities:
browser.set_status_error("Can't load identities.") browser.set_status_error(f"Can't load identities.")
return None return None
browser.identities = identities browser.identities = identities

View file

@ -12,9 +12,6 @@ def open_external_program(command):
""" """
curses.nocbreak() curses.nocbreak()
curses.echo() curses.echo()
curses.curs_set(1)
subprocess.run(command) subprocess.run(command)
curses.mousemask(curses.ALL_MOUSE_EVENTS)
curses.curs_set(0)
curses.noecho() curses.noecho()
curses.cbreak() curses.cbreak()

View file

@ -26,11 +26,12 @@ import hashlib
import json import json
import logging import logging
import secrets import secrets
import string
import subprocess import subprocess
from pathlib import Path from pathlib import Path
from typing import Optional from typing import Optional, Union
from bebop.fs import get_identities_path from bebop.fs import get_identities_path, get_user_data_path
def load_identities(identities_path: Path) -> Optional[dict]: def load_identities(identities_path: Path) -> Optional[dict]: