45 lines
1.6 KiB
Python
Executable File
45 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import curses
|
|
import argparse
|
|
import sys
|
|
from curses import wrapper
|
|
from .libs.config import Config
|
|
from .libs.absapi import ABSApi, Endpoint, ABSResponse, Library
|
|
from .libs.terminal import Terminal, ExitTerminal
|
|
|
|
parser = argparse.ArgumentParser()
|
|
_: argparse.Action = parser.add_argument("--debug", help="Debug the program", action="store_true")
|
|
_: argparse.Action = parser.add_argument("--remote-debug", help="Enable remote debugging with pudb", action="store_true")
|
|
_: argparse.Action = parser.add_argument("--debug-port", help="Port for remote debugging", type=int, default=6899)
|
|
args = parser.parse_args()
|
|
|
|
config: Config = Config()
|
|
# stdscr: curses.window = curses.initscr()
|
|
def main(stdscr: curses.window) -> None:
|
|
if args.remote_debug:
|
|
import os
|
|
from pudb.remote import set_trace
|
|
_term_size: os.terminal_size = os.get_terminal_size()
|
|
# set_trace(term_size=(_term_size.columns, _term_size.lines), host='0.0.0.0', port=args.debug_port)
|
|
terminal: Terminal = Terminal(stdscr, remote_debug=args.remote_debug, debug_port=args.debug_port)
|
|
else:
|
|
terminal: Terminal = Terminal(stdscr)
|
|
Terminal.startup(terminal)
|
|
|
|
if __name__ == "__main__":
|
|
if args.debug:
|
|
_api = ABSApi()
|
|
_response: list[Library]|None = _api.get_libraries()
|
|
_id = _response[0].id if _response else ""
|
|
_books = _api.get_books(_id)
|
|
for book in _books if _books else []:
|
|
breakpoint()
|
|
print(book.media.metadata.title)
|
|
sys.exit(0)
|
|
try:
|
|
while True:
|
|
wrapper(main)
|
|
except ExitTerminal:
|
|
pass
|
|
|