Add publisher dashboard routes
This commit is contained in:
parent
96551c2788
commit
e4a5246ab3
31 changed files with 1603 additions and 516 deletions
|
|
@ -63,6 +63,16 @@ def parse_args(argv: list[str] | None = None) -> tuple[str, argparse.Namespace]:
|
|||
action="store_true",
|
||||
help="Serve published feeds from /feeds for local development",
|
||||
)
|
||||
serve_parser.add_argument(
|
||||
"--reload",
|
||||
action="store_true",
|
||||
help="Reload the web UI when source files change",
|
||||
)
|
||||
serve_parser.add_argument(
|
||||
"--reader-app-url",
|
||||
default=os.environ.get("REPUBLISHER_READER_APP_URL", ""),
|
||||
help="URL of the AnyNews reader application linked from the publisher UI",
|
||||
)
|
||||
|
||||
crawl_parser = subparsers.add_parser("crawl", help="Run the feed crawler once")
|
||||
crawl_parser.add_argument(
|
||||
|
|
@ -144,16 +154,18 @@ def _install_signal_handlers(stop_event: asyncio.Event) -> None:
|
|||
signal.signal(signum, request_stop)
|
||||
|
||||
|
||||
async def _serve_app(*, host: str, port: int, dev_mode: bool) -> None:
|
||||
async def _serve_app(
|
||||
*, host: str, port: int, dev_mode: bool, reload: bool, reader_app_url: str | None
|
||||
) -> None:
|
||||
stop_event = asyncio.Event()
|
||||
_install_signal_handlers(stop_event)
|
||||
|
||||
app = create_app(dev_mode=dev_mode)
|
||||
app = create_app(dev_mode=dev_mode, reader_app_url=reader_app_url)
|
||||
app.extensions[SHUTDOWN_EVENT_KEY] = stop_event
|
||||
|
||||
config = HypercornConfig()
|
||||
config.bind = [f"{host}:{port}"]
|
||||
config.use_reloader = False
|
||||
config.use_reloader = reload
|
||||
config.accesslog = "-"
|
||||
config.errorlog = "-"
|
||||
|
||||
|
|
@ -203,7 +215,15 @@ def entrypoint(argv: list[str] | None = None) -> int:
|
|||
return 2
|
||||
|
||||
with suppress(KeyboardInterrupt):
|
||||
asyncio.run(_serve_app(host=args.host, port=port, dev_mode=bool(args.dev_mode)))
|
||||
asyncio.run(
|
||||
_serve_app(
|
||||
host=args.host,
|
||||
port=port,
|
||||
dev_mode=bool(args.dev_mode),
|
||||
reload=bool(args.reload),
|
||||
reader_app_url=args.reader_app_url,
|
||||
)
|
||||
)
|
||||
return 0
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue