diff --git a/copyparty/__main__.py b/copyparty/__main__.py index 310db30e..af1be68e 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -311,7 +311,7 @@ def disable_quickedit() -> None: cmode(True, mode | 4) -def run_argparse(argv: list[str], formatter: Any) -> argparse.Namespace: +def run_argparse(argv: list[str], formatter: Any, retry: bool) -> argparse.Namespace: ap = argparse.ArgumentParser( formatter_class=formatter, prog="copyparty", @@ -611,6 +611,7 @@ def run_argparse(argv: list[str], formatter: Any) -> argparse.Namespace: ap2.add_argument("--lang", metavar="LANG", type=u, default="eng", help="language") ap2.add_argument("--theme", metavar="NUM", type=int, default=0, help="default theme to use") ap2.add_argument("--themes", metavar="NUM", type=int, default=8, help="number of themes installed") + ap2.add_argument("--favico", metavar="TXT", type=u, default="c 000 none" if retry else "🎉 000 none", help="favicon text [ foreground [ background ] ], set blank to disable") ap2.add_argument("--js-browser", metavar="L", type=u, help="URL to additional JS to include") ap2.add_argument("--css-browser", metavar="L", type=u, help="URL to additional CSS to include") ap2.add_argument("--html-head", metavar="TXT", type=u, default="", help="text to append to the
of all HTML pages") @@ -682,12 +683,14 @@ def main(argv: Optional[list[str]] = None) -> None: except: pass - for fmtr in [RiceFormatter, Dodge11874, BasicDodge11874]: + retry = False + for fmtr in [RiceFormatter, RiceFormatter, Dodge11874, BasicDodge11874]: try: - al = run_argparse(argv, fmtr) + al = run_argparse(argv, fmtr, retry) except SystemExit: raise except: + retry = True lprint("\n[ {} ]:\n{}\n".format(fmtr, min_ex())) assert al diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index 19e2cf5e..094c1186 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -184,6 +184,8 @@ class HttpCli(object): def j2s(self, name: str, **ka: Any) -> str: tpl = self.conn.hsrv.j2[name] ka["ts"] = self.conn.hsrv.cachebuster() + ka["lang"] = self.args.lang + ka["favico"] = self.args.favico ka["svcname"] = self.args.doctitle ka["html_head"] = self.html_head return tpl.render(**ka) # type: ignore @@ -1862,6 +1864,8 @@ class HttpCli(object): "edit": "edit" in self.uparam, "title": html_escape(self.vpath, crlf=True), "lastmod": int(ts_md * 1000), + "lang": self.args.lang, + "favico": self.args.favico, "have_emp": self.args.emp, "md_chk_rate": self.args.mcr, "md": boundary, @@ -2406,7 +2410,6 @@ class HttpCli(object): "readme": readme, "title": html_escape(self.vpath, crlf=True), "srv_info": srv_infot, - "lang": self.args.lang, "dtheme": self.args.theme, "themes": self.args.themes, "turbolvl": self.args.turbo, diff --git a/copyparty/web/browser.html b/copyparty/web/browser.html index 0c5655b6..e082a8b2 100644 --- a/copyparty/web/browser.html +++ b/copyparty/web/browser.html @@ -3,7 +3,7 @@ -