mirror of
https://github.com/Hopiu/bowser.git
synced 2026-03-16 19:10:24 +00:00
- Removed unused imports from various test files to streamline code. - Cleaned up whitespace in test cases for better consistency. - Updated dependency management in `uv.lock` to reflect changes in optional dependencies. - Ensured all tests maintain functionality while enhancing clarity and organization.
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
"""Entry point for Bowser browser."""
|
|
|
|
import argparse
|
|
import logging
|
|
from src.browser.browser import Browser
|
|
|
|
|
|
def _parse_args():
|
|
parser = argparse.ArgumentParser(prog="bowser", description="Bowser educational browser")
|
|
parser.add_argument("url", nargs="?", default=None, help="URL to open (optional, defaults to startpage)")
|
|
parser.add_argument("--debug", action="store_true", help="Enable debug output (alias for --log-level=DEBUG)")
|
|
parser.add_argument(
|
|
"--log-level",
|
|
choices=["ERROR", "WARNING", "INFO", "DEBUG"],
|
|
default="INFO",
|
|
help="Set logging level",
|
|
)
|
|
return parser.parse_args()
|
|
|
|
|
|
def _configure_logging(args):
|
|
level = logging.DEBUG if args.debug else getattr(logging, args.log_level)
|
|
logging.basicConfig(
|
|
level=level,
|
|
format="%(asctime)s %(name)s %(levelname)s: %(message)s",
|
|
datefmt="%H:%M:%S",
|
|
)
|
|
|
|
|
|
def main():
|
|
args = _parse_args()
|
|
_configure_logging(args)
|
|
|
|
browser = Browser()
|
|
|
|
# Enable debug mode in chrome if --debug flag is set
|
|
if args.debug:
|
|
browser.chrome.debug_mode = True
|
|
|
|
# If no URL provided, use startpage
|
|
url = args.url if args.url else "about:startpage"
|
|
browser.new_tab(url)
|
|
browser.run()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|