diff --git a/copyparty/__init__.py b/copyparty/__init__.py index 19530d85..010e4188 100644 --- a/copyparty/__init__.py +++ b/copyparty/__init__.py @@ -40,6 +40,9 @@ VT100 = "--ansi" in sys.argv or ( ) # introduced in anniversary update +zs = os.environ.get("PRTY_CONFIG", "") +CFG_DEF = [zs] if zs else [] + ANYWIN = WINDOWS or sys.platform in ["msys", "cygwin"] MACOS = platform.system() == "Darwin" diff --git a/copyparty/__main__.py b/copyparty/__main__.py index e28a12c5..ac06294f 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -23,6 +23,7 @@ import uuid from .__init__ import ( ANYWIN, + CFG_DEF, CORES, EXE, MACOS, @@ -63,6 +64,7 @@ from .util import ( URL_BUG, URL_PRJ, Daemon, + absreal, align_tab, b64enc, ctypes, @@ -105,10 +107,6 @@ except: u = unicode zsid = uuid.uuid4().urn[4:] -CFG_DEF = [os.environ.get("PRTY_CONFIG", "")] -if not CFG_DEF[0]: - CFG_DEF.pop() - FULL_HELP = os.environ.get("PRTY_FULL_HELP", "") @@ -2217,6 +2215,9 @@ def main(argv: Optional[list[str]] = None) -> None: argv.pop(n) break + if CFG_DEF: + CFG_DEF[0] = absreal(CFG_DEF[0]) + ensure_locale() ensure_webdeps() diff --git a/copyparty/authsrv.py b/copyparty/authsrv.py index 2558dde2..3c01e821 100644 --- a/copyparty/authsrv.py +++ b/copyparty/authsrv.py @@ -13,7 +13,7 @@ import threading import time from datetime import datetime -from .__init__ import ANYWIN, MACOS, PY2, TYPE_CHECKING, WINDOWS, E +from .__init__ import ANYWIN, CFG_DEF, MACOS, PY2, TYPE_CHECKING, WINDOWS, E from .bos import bos from .cfg import flagdescs, permdescs, vf_bmap, vf_cmap, vf_vmap from .pwhash import PWHash @@ -25,6 +25,7 @@ from .util import ( FN_EMB, HAVE_SQLITE3, IMPLICATIONS, + LOG, META_NOBOTS, MIMES, SQLITE_VER, @@ -4079,6 +4080,11 @@ def expand_config_file( if fp2 in ipath: continue + if CFG_DEF and CFG_DEF[0] == fp2: + t = "ignoring PRTY_CONFIG because it was also autodiscovered by %s -> %s" + LOG[0]("root", t % (ipath, fp)) + continue + expand_config_file(log, shenvexp, ret, fp2, ipath) return