From 8a2345a0fbafe82e5b3c59be7243de1583bbe37b Mon Sep 17 00:00:00 2001 From: ed Date: Sun, 11 Jul 2021 02:06:18 +0200 Subject: [PATCH] top of the sandwich fell off --- copyparty/__main__.py | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/copyparty/__main__.py b/copyparty/__main__.py index d10e7f10..a48f47de 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -258,31 +258,32 @@ def run_argparse(argv, formatter): ), ) # fmt: off + u = unicode ap2 = ap.add_argument_group('general options') - ap2.add_argument("-c", metavar="PATH", type=str, action="append", help="add config file") + ap2.add_argument("-c", metavar="PATH", type=u, action="append", help="add config file") ap2.add_argument("-nc", metavar="NUM", type=int, default=64, help="max num clients") ap2.add_argument("-j", metavar="CORES", type=int, default=1, help="max num cpu cores") - ap2.add_argument("-a", metavar="ACCT", type=str, action="append", help="add account, USER:PASS; example [ed:wark") - ap2.add_argument("-v", metavar="VOL", type=str, action="append", help="add volume, SRC:DST:FLAG; example [.::r], [/mnt/nas/music:/music:r:aed") + ap2.add_argument("-a", metavar="ACCT", type=u, action="append", help="add account, USER:PASS; example [ed:wark") + ap2.add_argument("-v", metavar="VOL", type=u, action="append", help="add volume, SRC:DST:FLAG; example [.::r], [/mnt/nas/music:/music:r:aed") ap2.add_argument("-ed", action="store_true", help="enable ?dots") ap2.add_argument("-emp", action="store_true", help="enable markdown plugins") ap2.add_argument("-mcr", metavar="SEC", type=int, default=60, help="md-editor mod-chk rate") ap2.add_argument("--dotpart", action="store_true", help="dotfile incomplete uploads") ap2.add_argument("--sparse", metavar="MiB", type=int, default=4, help="up2k min.size threshold (mswin-only)") - ap2.add_argument("--urlform", metavar="MODE", type=str, default="print,get", help="how to handle url-forms; examples: [stash], [save,get]") + ap2.add_argument("--urlform", metavar="MODE", type=u, default="print,get", help="how to handle url-forms; examples: [stash], [save,get]") ap2 = ap.add_argument_group('network options') - ap2.add_argument("-i", metavar="IP", type=str, default="0.0.0.0", help="ip to bind (comma-sep.)") - ap2.add_argument("-p", metavar="PORT", type=str, default="3923", help="ports to bind (comma/range)") + ap2.add_argument("-i", metavar="IP", type=u, default="0.0.0.0", help="ip to bind (comma-sep.)") + ap2.add_argument("-p", metavar="PORT", type=u, default="3923", help="ports to bind (comma/range)") ap2.add_argument("--rproxy", metavar="DEPTH", type=int, default=1, help="which ip to keep; 0 = tcp, 1 = origin (first x-fwd), 2 = cloudflare, 3 = nginx, -1 = closest proxy") ap2 = ap.add_argument_group('SSL/TLS options') ap2.add_argument("--http-only", action="store_true", help="disable ssl/tls") ap2.add_argument("--https-only", action="store_true", help="disable plaintext") - ap2.add_argument("--ssl-ver", metavar="LIST", type=str, help="set allowed ssl/tls versions; [help] shows available versions; default is what your python version considers safe") - ap2.add_argument("--ciphers", metavar="LIST", help="set allowed ssl/tls ciphers; [help] shows available ciphers") + ap2.add_argument("--ssl-ver", metavar="LIST", type=u, help="set allowed ssl/tls versions; [help] shows available versions; default is what your python version considers safe") + ap2.add_argument("--ciphers", metavar="LIST", type=u, help="set allowed ssl/tls ciphers; [help] shows available ciphers") ap2.add_argument("--ssl-dbg", action="store_true", help="dump some tls info") - ap2.add_argument("--ssl-log", metavar="PATH", help="log master secrets") + ap2.add_argument("--ssl-log", metavar="PATH", type=u, help="log master secrets") ap2 = ap.add_argument_group('opt-outs') ap2.add_argument("-nw", action="store_true", help="disable writes (benchmark)") @@ -291,16 +292,16 @@ def run_argparse(argv, formatter): ap2.add_argument("--no-zip", action="store_true", help="disable download as zip/tar") ap2 = ap.add_argument_group('safety options') - ap2.add_argument("--ls", metavar="U[,V[,F]]", help="scan all volumes; arguments USER,VOL,FLAGS; example [**,*,ln,p,r]") - ap2.add_argument("--salt", type=str, default="hunter2", help="up2k file-hash salt") + ap2.add_argument("--ls", metavar="U[,V[,F]]", type=u, help="scan all volumes; arguments USER,VOL,FLAGS; example [**,*,ln,p,r]") + ap2.add_argument("--salt", type=u, default="hunter2", help="up2k file-hash salt") ap2 = ap.add_argument_group('logging options') ap2.add_argument("-q", action="store_true", help="quiet") - ap2.add_argument("-lo", metavar="PATH", type=str, help="logfile, example: cpp-%%Y-%%m%%d-%%H%%M%%S.txt.xz") + ap2.add_argument("-lo", metavar="PATH", type=u, help="logfile, example: cpp-%%Y-%%m%%d-%%H%%M%%S.txt.xz") ap2.add_argument("--log-conn", action="store_true", help="print tcp-server msgs") ap2.add_argument("--log-htp", action="store_true", help="print http-server threadpool scaling") - ap2.add_argument("--ihead", metavar="HEADER", action='append', help="dump incoming header") - ap2.add_argument("--lf-url", metavar="RE", type=str, default=r"^/\.cpr/|\?th=[wj]$", help="dont log URLs matching") + ap2.add_argument("--ihead", metavar="HEADER", type=u, action='append', help="dump incoming header") + ap2.add_argument("--lf-url", metavar="RE", type=u, default=r"^/\.cpr/|\?th=[wj]$", help="dont log URLs matching") ap2 = ap.add_argument_group('admin panel options') ap2.add_argument("--no-rescan", action="store_true", help="disable ?scan (volume reindexing)") @@ -317,7 +318,7 @@ def run_argparse(argv, formatter): ap2.add_argument("--th-poke", metavar="SEC", type=int, default=300, help="activity labeling cooldown") ap2.add_argument("--th-clean", metavar="SEC", type=int, default=43200, help="cleanup interval; 0=disabled") ap2.add_argument("--th-maxage", metavar="SEC", type=int, default=604800, help="max folder age") - ap2.add_argument("--th-covers", metavar="N,N", type=str, default="folder.png,folder.jpg,cover.png,cover.jpg", help="folder thumbnails to stat for") + ap2.add_argument("--th-covers", metavar="N,N", type=u, default="folder.png,folder.jpg,cover.png,cover.jpg", help="folder thumbnails to stat for") ap2 = ap.add_argument_group('database options') ap2.add_argument("-e2d", action="store_true", help="enable up2k database") @@ -326,25 +327,25 @@ def run_argparse(argv, formatter): ap2.add_argument("-e2t", action="store_true", help="enable metadata indexing") ap2.add_argument("-e2ts", action="store_true", help="enable metadata scanner, sets -e2t") ap2.add_argument("-e2tsr", action="store_true", help="rescan all metadata, sets -e2ts") - ap2.add_argument("--hist", metavar="PATH", type=str, help="where to store volume state") + ap2.add_argument("--hist", metavar="PATH", type=u, help="where to store volume state") ap2.add_argument("--no-hash", action="store_true", help="disable hashing during e2ds folder scans") ap2.add_argument("--no-mutagen", action="store_true", help="use ffprobe for tags instead") ap2.add_argument("--no-mtag-mt", action="store_true", help="disable tag-read parallelism") - ap2.add_argument("-mtm", metavar="M=t,t,t", action="append", type=str, help="add/replace metadata mapping") - ap2.add_argument("-mte", metavar="M,M,M", type=str, help="tags to index/display (comma-sep.)", + ap2.add_argument("-mtm", metavar="M=t,t,t", type=u, action="append", help="add/replace metadata mapping") + ap2.add_argument("-mte", metavar="M,M,M", type=u, help="tags to index/display (comma-sep.)", default="circle,album,.tn,artist,title,.bpm,key,.dur,.q,.vq,.aq,ac,vc,res,.fps") - ap2.add_argument("-mtp", metavar="M=[f,]bin", action="append", type=str, help="read tag M using bin") + ap2.add_argument("-mtp", metavar="M=[f,]bin", type=u, action="append", help="read tag M using bin") ap2.add_argument("--srch-time", metavar="SEC", type=int, default=30, help="search deadline") ap2 = ap.add_argument_group('appearance options') - ap2.add_argument("--css-browser", metavar="L", help="URL to additional CSS to include") + ap2.add_argument("--css-browser", metavar="L", type=u, help="URL to additional CSS to include") ap2 = ap.add_argument_group('debug options') ap2.add_argument("--no-sendfile", action="store_true", help="disable sendfile") ap2.add_argument("--no-scandir", action="store_true", help="disable scandir") ap2.add_argument("--no-fastboot", action="store_true", help="wait for up2k indexing") ap2.add_argument("--no-htp", action="store_true", help="disable httpserver threadpool, create threads as-needed instead") - ap2.add_argument("--stackmon", metavar="P,S", help="write stacktrace to Path every S second") + ap2.add_argument("--stackmon", metavar="P,S", type=u, help="write stacktrace to Path every S second") return ap.parse_args(args=argv[1:]) # fmt: on