copyparty 1.19.19__py3-none-any.whl → 1.19.20__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
copyparty/__version__.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # coding: utf-8
2
2
 
3
- VERSION = (1, 19, 19)
3
+ VERSION = (1, 19, 20)
4
4
  CODENAME = "usernames"
5
- BUILD_DT = (2025, 10, 25)
5
+ BUILD_DT = (2025, 11, 2)
6
6
 
7
7
  S_VERSION = ".".join(map(str, VERSION))
8
8
  S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)
copyparty/authsrv.py CHANGED
@@ -3040,6 +3040,7 @@ class AuthSrv(object):
3040
3040
  "lifetime": vf.get("lifetime") or 0,
3041
3041
  "unlist": vf.get("unlist") or "",
3042
3042
  "sb_lg": "" if "no_sb_lg" in vf else (vf.get("lg_sbf") or "y"),
3043
+ "sb_md": "" if "no_sb_md" in vf else (vf.get("md_sbf") or "y"),
3043
3044
  }
3044
3045
  if "ufavico_h" in vf:
3045
3046
  vn.js_ls["ufavico"] = vf["ufavico_h"]
@@ -3061,7 +3062,8 @@ class AuthSrv(object):
3061
3062
  "have_emp": int(self.args.emp),
3062
3063
  "md_no_br": int(vf.get("md_no_br") or 0),
3063
3064
  "ext_th": vf.get("ext_th_d") or {},
3064
- "sb_md": "" if "no_sb_md" in vf else (vf.get("md_sbf") or "y"),
3065
+ "sb_lg": vn.js_ls["sb_lg"],
3066
+ "sb_md": vn.js_ls["sb_md"],
3065
3067
  "sba_md": vf.get("md_sba") or "",
3066
3068
  "sba_lg": vf.get("lg_sba") or "",
3067
3069
  "txt_ext": self.args.textfiles.replace(",", " "),
copyparty/httpcli.py CHANGED
@@ -5990,6 +5990,15 @@ class HttpCli(object):
5990
5990
  if self.uname != self.args.shr_adm:
5991
5991
  rows = [x for x in rows if x[5] == self.uname]
5992
5992
 
5993
+ q = "select vp from sf where k=? limit 99"
5994
+ for r in rows:
5995
+ if not r[4]:
5996
+ r[4] = "---"
5997
+ else:
5998
+ zstl = cur.execute(q, (r[0],)).fetchall()
5999
+ zsl = [html_escape(zst[0]) for zst in zstl]
6000
+ r[4] = "<br />".join(zsl)
6001
+
5993
6002
  html = self.j2s(
5994
6003
  "shares", this=self, shr=self.args.shr, rows=rows, now=int(time.time())
5995
6004
  )
Binary file
copyparty/web/a/u2c.py.gz CHANGED
Binary file
@@ -137,7 +137,6 @@
137
137
  lang = "{{ lang }}",
138
138
  dfavico = "{{ favico }}",
139
139
  have_tags_idx = {{ have_tags_idx }},
140
- sb_lg = "{{ sb_lg }}",
141
140
  logues = {{ logues|tojson if sb_lg else "[]" }},
142
141
  ls0 = {{ ls0|tojson }};
143
142
 
Binary file
Binary file
copyparty/web/shares.html CHANGED
@@ -14,8 +14,9 @@
14
14
  </head>
15
15
 
16
16
  <body>
17
- <div id="wrap">
17
+ <div id="wrap" class="terse">
18
18
  <a href="{{ r }}/?shares">refresh</a>
19
+ <a id="xpnd" href="#">files</a>
19
20
  <a href="{{ r }}/?h">control-panel</a>
20
21
 
21
22
  <span>axs = perms (read,write,move,delet)</span>
@@ -46,7 +47,7 @@
46
47
  <td>{{ "yes" if pw else "--" }}</td>
47
48
  <td><a href="{{ r }}/{{ vp|e }}">/{{ vp|e }}</a></td>
48
49
  <td>{{ pr }}</td>
49
- <td>{{ st }}</td>
50
+ <td><div>{{ st }}</div></td>
50
51
  <td>{{ un|e }}</td>
51
52
  <td>{{ t0 }}</td>
52
53
  <td>{{ t1 }}</td>
Binary file
copyparty/web/up2k.js.gz CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: copyparty
3
- Version: 1.19.19
3
+ Version: 1.19.20
4
4
  Summary: Portable file server with accelerated resumable uploads, deduplication, WebDAV, FTP, zeroconf, media indexer, video thumbnails, audio transcoding, and write-only folders
5
5
  Author-email: ed <copyparty@ocv.me>
6
6
  License: MIT
@@ -3047,7 +3047,9 @@ enable sending [zeromq messages](#zeromq) from event-hooks: `pyzmq`
3047
3047
 
3048
3048
  enable [smb](#smb-server) support (**not** recommended): `impacket==0.12.0`
3049
3049
 
3050
- `pyvips` gives higher quality thumbnails than `Pillow` and is 320% faster, using 270% more ram: `sudo apt install libvips42 && python3 -m pip install --user -U pyvips`
3050
+ `pyvips` gives higher quality thumbnails than `Pillow` and is 320% faster, using 270% more ram
3051
+ * to install `pyvips` on Linux: `sudo apt install libvips42 && python3 -m pip install --user -U pyvips`
3052
+ * to install `pyvips` on windows: `pip install --user -U "pyvips[binary]"`
3051
3053
 
3052
3054
  to install FFmpeg on Windows, grab [a recent build](https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z) -- you need `ffmpeg.exe` and `ffprobe.exe` from inside the `bin` folder; copy them into `C:\Windows\System32` or any other folder that's in your `%PATH%`
3053
3055
 
@@ -1,7 +1,7 @@
1
1
  copyparty/__init__.py,sha256=hJUyXlxl7upqxONj_QDCAYhgNtSd9YHTdaCQt-DsEvw,3075
2
2
  copyparty/__main__.py,sha256=OwUUZwfvpaOd97o_Sp-G68q3Q_XXKPjbh4D8LCUgNVc,150289
3
- copyparty/__version__.py,sha256=IDmnFkMNcWcqoTSe41ZBfiIqJRNlO3ZLxxjNttkunYo,253
4
- copyparty/authsrv.py,sha256=pOglyADjcWXPgPqlZeoS60GTJzH_uKmCXKPTDsoy7H4,136334
3
+ copyparty/__version__.py,sha256=c_b57VEXhhF_mMe29zz1q0g5-fBW8zV3RDl4sUZBUzs,252
4
+ copyparty/authsrv.py,sha256=ULhlH7TryTB5TCKeQxZwB5q9yswkAa5nLWEjTjiItAY,136422
5
5
  copyparty/broker_mp.py,sha256=QdOXXvV2Xn6J0CysEqyY3GZbqxQMyWnTpnba-a5lMc0,4987
6
6
  copyparty/broker_mpw.py,sha256=LXQlmxzOvdpqP1aZoiIvWHAYUV_PoewLORLD1BGRs0g,3449
7
7
  copyparty/broker_thr.py,sha256=fjoYtpSscUA7-nMl4r1n2R7UK3J9lrvLS3rUZ-iJzKQ,1721
@@ -11,7 +11,7 @@ copyparty/cfg.py,sha256=MPSVOamweuBhz65UdZQ7PVIzMle8BOyWQVBZBtesoZ4,17782
11
11
  copyparty/dxml.py,sha256=VZADJS9z18LalENSvVfjk29ddnpaDQ-v8AVm_THwS1c,2607
12
12
  copyparty/fsutil.py,sha256=kGvNM9G9YLeqcQjhDGfmT8gV7fn2WU0xye9BulL4h04,6469
13
13
  copyparty/ftpd.py,sha256=skC-0LrG36qGFvhr1g1DDuwJLL2o1EJlrmnt71qknUM,18620
14
- copyparty/httpcli.py,sha256=aNlTLRh6XXRVTizZLKxbGRDpsxWdcCsqmSAoy-Tli6s,251267
14
+ copyparty/httpcli.py,sha256=4_6NdSJlE6GaZHuxZJ0l4jjVr2Tmj6AG_FRPb84E2Ko,251574
15
15
  copyparty/httpconn.py,sha256=IA9fdCjigawZ4kWhgvVN3nSiy5pb3W2qaE6rFqUYdq0,6943
16
16
  copyparty/httpsrv.py,sha256=0ELg4joFUkfJWTedca4l_3rbZ3G6R9JWEE91K2hymzA,19101
17
17
  copyparty/ico.py,sha256=-7QjF_jIxnPo4Vr0oUPksQ_U_Ef0HRsSPm3s71idOz8,3879
@@ -57,8 +57,8 @@ copyparty/stolen/ifaddr/_shared.py,sha256=uNC4SdEIgdSLKvuUzsf1aM-H1Xrc_9mpLoOT43
57
57
  copyparty/stolen/ifaddr/_win32.py,sha256=EE-QyoBgeB7lYQ6z62VjXNaRozaYfCkaJBHGNA8QtZM,4026
58
58
  copyparty/web/baguettebox.js.gz,sha256=WHSthD29R720wU0fbbAKGOLFrZqSIT1sbA6s_RYSb-Q,9484
59
59
  copyparty/web/browser.css.gz,sha256=RG0G0O9K3ER9EALdBflCvmuu1ScbAAyNnWv2ew6UA0s,15874
60
- copyparty/web/browser.html,sha256=IxHHqvGMlrG8B4hYkoIaH2cX6qCOCCZ6TQbAx9oB8KY,4865
61
- copyparty/web/browser.js.gz,sha256=PKUrbSYl7YdU2j781YYR0LC_ASgEWTxeEyEst6aJ67o,72490
60
+ copyparty/web/browser.html,sha256=yDWxjvAarcQ8Dibd2Jk9Af3Z1m6VqTCQxMXtz8vTmyI,4839
61
+ copyparty/web/browser.js.gz,sha256=zBKdDtryQDzaT_aUpdaZfOyB5EtVgYz9D671jd36PAY,72501
62
62
  copyparty/web/browser2.html,sha256=NRUZ08GH-e2YcGXcoz0UjYg6JIVF42u4IMX4HHwWTmg,1587
63
63
  copyparty/web/cf.html,sha256=lJThtNFNAQT1ClCHHlivAkDGE0LutedwopXD62Z8Nys,589
64
64
  copyparty/web/dbg-audio.js.gz,sha256=2mn1nVh4F07pMi86xVK7edWVLhlF6NwV3HGJpkoLJ2A,675
@@ -77,21 +77,21 @@ copyparty/web/opds.xml,sha256=y_o_sgDvMOoqCHWQ_k37OkyKq6MDDgPfFbPqAFmNBbY,1009
77
77
  copyparty/web/rups.css.gz,sha256=oosX6kv6PDXJfU5uYiWQPQorvtU-2pZ7Tm_uj_I1UXg,638
78
78
  copyparty/web/rups.html,sha256=GHf0NOyw8HIluLxomnxvO_Eucef6MGYOaqz-aD-lSCI,1298
79
79
  copyparty/web/rups.js.gz,sha256=9R-JiuUj-7_tfBzgykjbMvBnMK1cI0UBS6hCw9KUf3Q,921
80
- copyparty/web/shares.css.gz,sha256=69YOX5LcR99glXaCr8gbg5qUQkr9fORleJ7NTClqey0,536
81
- copyparty/web/shares.html,sha256=SWgcgiAXEtV6xFqYDUlgg6WmrjedmgP3hCaVksNk1y4,2582
82
- copyparty/web/shares.js.gz,sha256=K4dTCjq7CUBkTam4byUNR3fTnzUYazx1iqySrm6L9bA,932
80
+ copyparty/web/shares.css.gz,sha256=qsB3Uj8BpbfUko-w9PwdMzGiOpgbuyrzJxTJ0zPi9q8,575
81
+ copyparty/web/shares.html,sha256=sPPpqgHzc7xk9FynrVtUOqGw1R5ve4AVgaTWVsj4mGI,2641
82
+ copyparty/web/shares.js.gz,sha256=vCLQsuIT8DCo8_QqrqEPkvlqDagMI-X06cknGcHpnDI,973
83
83
  copyparty/web/splash.css.gz,sha256=VNE_-UQ6FCeXFi6NZrdDtxQqx52luPxPaBTXM3ID8tE,1144
84
84
  copyparty/web/splash.html,sha256=NOYmsKmPpzJN0UbavTEq5Pfb9993URrOC9rBl6EJOBY,7578
85
85
  copyparty/web/splash.js.gz,sha256=jukP00KegnSlBF0rCK90yFmoXPxcVwPmlcAO19-GNtY,1172
86
86
  copyparty/web/svcs.html,sha256=V5NmGwzO3KKmeigu2BSx78Ukv6aqAGznJZhbHU4FsM0,17594
87
87
  copyparty/web/svcs.js.gz,sha256=tczLtGkZ4hNc2E_8Q6sIII5flqs4znFHhExB9rwl-fU,963
88
88
  copyparty/web/ui.css.gz,sha256=p9FF8mC8kfmR3fE2hAprWHJ5RWipJ56v7VREXUdnfvo,2841
89
- copyparty/web/up2k.js.gz,sha256=Sx4a0snM6j45Hun58L4J1KMZ7QNv4aXUid7UGbyQO98,25161
89
+ copyparty/web/up2k.js.gz,sha256=TgB7KZlv4JLZNlbCjXoTchdzhMhhbMZvPECYbOWLlEM,25161
90
90
  copyparty/web/util.js.gz,sha256=jjkZzwZuvQSHKGU9-c9IgStn73RNyUNK-xMzb4Fs1TM,16383
91
91
  copyparty/web/w.hash.js.gz,sha256=PhDMm50vh8v89V2dknSMFkMIxOdBH8gkXETFIG2kn6M,1183
92
92
  copyparty/web/a/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- copyparty/web/a/partyfuse.py.gz,sha256=5Mugx4AOXNTGU7ftgSt68mkLmXAzyOvD2kV1ZTUgkrU,7938
94
- copyparty/web/a/u2c.py.gz,sha256=4_oEntBsS7hWr7E0T7sjhwki169ekiBwkUTVclBFZ3A,14359
93
+ copyparty/web/a/partyfuse.py.gz,sha256=YL0AYnSq3fOWMctr-BbMgpPf6g6Uj4ZRrzZrkIeHfQE,7938
94
+ copyparty/web/a/u2c.py.gz,sha256=tKtmvQK5Xk_jf-c5vSGNpUrKhxbX2LJMpMxNNeKwS0g,14359
95
95
  copyparty/web/a/webdav-cfg.txt.gz,sha256=a5ygKWzEDCnVrMhILb8tZ8LhuBaahOUt7yfL_R90Yuo,705
96
96
  copyparty/web/deps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  copyparty/web/deps/busy.mp3.gz,sha256=ySTZiSMbGLJLioVUzUR2eEVemZQ-ACSgawJmw7lFvms,106
@@ -126,9 +126,9 @@ copyparty/web/tl/spa.js.gz,sha256=mVSJ8BO2ojYlromlM_p4nEc3p-27l7JsIRxkv3y-jNA,14
126
126
  copyparty/web/tl/swe.js.gz,sha256=N4oUgUHizl4sGLndIE5udH0SdngtMswuVh45-lPrPqA,14386
127
127
  copyparty/web/tl/tur.js.gz,sha256=HJdCj6eXgY5YYeuzwRfe_xLoSneKJFvnzBFiP_C09oQ,14970
128
128
  copyparty/web/tl/ukr.js.gz,sha256=40rZUUZ5V7rt9GE0CXv55i7jLfk5kBqM3dLxsyutWiY,17236
129
- copyparty-1.19.19.dist-info/licenses/LICENSE,sha256=gOr4h33pCsBEg9uIy9AYmb7qlocL4V9t2uPJS5wllr0,1072
130
- copyparty-1.19.19.dist-info/METADATA,sha256=0yK2_EXy4q4ZACnv8ePcJP3vlVRikpKQIn24J5qznYg,182680
131
- copyparty-1.19.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
132
- copyparty-1.19.19.dist-info/entry_points.txt,sha256=4zw6a3rqASywQomiYLObjjlxybaI65LYYOTJwgKz7b0,128
133
- copyparty-1.19.19.dist-info/top_level.txt,sha256=LnYUPsDyk-8kFgM6YJLG4h820DQekn81cObKSu9g-sI,10
134
- copyparty-1.19.19.dist-info/RECORD,,
129
+ copyparty-1.19.20.dist-info/licenses/LICENSE,sha256=gOr4h33pCsBEg9uIy9AYmb7qlocL4V9t2uPJS5wllr0,1072
130
+ copyparty-1.19.20.dist-info/METADATA,sha256=fdUpwffHKH0OZJzY5BJyecwjBaTiApdc8OMZt1abTrs,182786
131
+ copyparty-1.19.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
132
+ copyparty-1.19.20.dist-info/entry_points.txt,sha256=4zw6a3rqASywQomiYLObjjlxybaI65LYYOTJwgKz7b0,128
133
+ copyparty-1.19.20.dist-info/top_level.txt,sha256=LnYUPsDyk-8kFgM6YJLG4h820DQekn81cObKSu9g-sI,10
134
+ copyparty-1.19.20.dist-info/RECORD,,