copyparty 1.16.5__py3-none-any.whl → 1.16.6__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/util.py CHANGED
@@ -943,7 +943,7 @@ class ProgressPrinter(threading.Thread):
943
943
  now = time.time()
944
944
  if msg and now - tp > 10:
945
945
  tp = now
946
- self.log("progress: %s" % (msg,), 6)
946
+ self.log("progress: %r" % (msg,), 6)
947
947
 
948
948
  if no_stdout:
949
949
  continue
@@ -1543,7 +1543,7 @@ class MultipartParser(object):
1543
1543
  (only the fallback non-js uploader relies on these filenames)
1544
1544
  """
1545
1545
  for ln in read_header(self.sr, 2, 2592000):
1546
- self.log(ln)
1546
+ self.log(repr(ln))
1547
1547
 
1548
1548
  m = self.re_ctype.match(ln)
1549
1549
  if m:
@@ -1831,11 +1831,11 @@ def gen_filekey_dbg(
1831
1831
  if p2 != fspath:
1832
1832
  raise Exception()
1833
1833
  except:
1834
- t = "maybe wrong abspath for filekey;\norig: {}\nreal: {}"
1835
- log(t.format(fspath, p2), 1)
1834
+ t = "maybe wrong abspath for filekey;\norig: %r\nreal: %r"
1835
+ log(t % (fspath, p2), 1)
1836
1836
 
1837
- t = "fk({}) salt({}) size({}) inode({}) fspath({}) at({})"
1838
- log(t.format(ret[:8], salt, fsize, inode, fspath, ctx), 5)
1837
+ t = "fk(%s) salt(%s) size(%d) inode(%d) fspath(%r) at(%s)"
1838
+ log(t % (ret[:8], salt, fsize, inode, fspath, ctx), 5)
1839
1839
 
1840
1840
  return ret
1841
1841
 
@@ -2191,7 +2191,7 @@ def log_reloc(
2191
2191
  rem ,
2192
2192
  ) :
2193
2193
  nap, nvp, nfn, (nvn, nrem) = pm
2194
- t = "reloc %s:\nold ap [%s]\nnew ap [%s\033[36m/%s\033[0m]\nold vp [%s]\nnew vp [%s\033[36m/%s\033[0m]\nold fn [%s]\nnew fn [%s]\nold vfs [%s]\nnew vfs [%s]\nold rem [%s]\nnew rem [%s]"
2194
+ t = "reloc %s:\nold ap %r\nnew ap %r\033[36m/%r\033[0m\nold vp %r\nnew vp %r\033[36m/%r\033[0m\nold fn %r\nnew fn %r\nold vfs %r\nnew vfs %r\nold rem %r\nnew rem %r"
2195
2195
  log(t % (re, ap, nap, nfn, vp, nvp, nfn, fn, nfn, vn.vpath, nvn.vpath, rem, nrem))
2196
2196
 
2197
2197
 
@@ -2362,7 +2362,7 @@ def lsof(log , abspath ) :
2362
2362
  try:
2363
2363
  rc, so, se = runcmd([b"lsof", b"-R", fsenc(abspath)], timeout=45)
2364
2364
  zs = (so.strip() + "\n" + se.strip()).strip()
2365
- log("lsof {} = {}\n{}".format(abspath, rc, zs), 3)
2365
+ log("lsof %r = %s\n%s" % (abspath, rc, zs), 3)
2366
2366
  except:
2367
2367
  log("lsof failed; " + min_ex(), 3)
2368
2368
 
@@ -2398,17 +2398,17 @@ def _fs_mvrm(
2398
2398
  for attempt in range(90210):
2399
2399
  try:
2400
2400
  if ino and os.stat(bsrc).st_ino != ino:
2401
- t = "src inode changed; aborting %s %s"
2401
+ t = "src inode changed; aborting %s %r"
2402
2402
  log(t % (act, src), 1)
2403
2403
  return False
2404
2404
  if (dst and not atomic) and os.path.exists(bdst):
2405
- t = "something appeared at dst; aborting rename [%s] ==> [%s]"
2405
+ t = "something appeared at dst; aborting rename %r ==> %r"
2406
2406
  log(t % (src, dst), 1)
2407
2407
  return False
2408
2408
  osfun(*args)
2409
2409
  if attempt:
2410
2410
  now = time.time()
2411
- t = "%sd in %.2f sec, attempt %d: %s"
2411
+ t = "%sd in %.2f sec, attempt %d: %r"
2412
2412
  log(t % (act, now - t0, attempt + 1, src))
2413
2413
  return True
2414
2414
  except OSError as ex:
@@ -2420,7 +2420,7 @@ def _fs_mvrm(
2420
2420
  if not attempt:
2421
2421
  if not PY2:
2422
2422
  ino = os.stat(bsrc).st_ino
2423
- t = "%s failed (err.%d); retrying for %d sec: [%s]"
2423
+ t = "%s failed (err.%d); retrying for %d sec: %r"
2424
2424
  log(t % (act, ex.errno, maxtime + 0.99, src))
2425
2425
 
2426
2426
  time.sleep(chill)
@@ -3445,7 +3445,7 @@ def runhook(
3445
3445
  log, src, cmd, ap, vp, host, uname, perms, mt, sz, ip, at, txt
3446
3446
  )
3447
3447
  if log and args.hook_v:
3448
- log("hook(%s) [%s] => \033[32m%s" % (src, cmd, hr), 6)
3448
+ log("hook(%s) %r => \033[32m%s" % (src, cmd, hr), 6)
3449
3449
  if not hr:
3450
3450
  return {}
3451
3451
  for k, v in hr.items():
Binary file
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>{{ s_doctitle }}</title>
7
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
+ <meta name="viewport" content="width=device-width, initial-scale=0.8">
9
+ <meta name="theme-color" content="#{{ tcolor }}">
10
+ <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/rups.css?_={{ ts }}">
11
+ <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}">
12
+ {{ html_head }}
13
+ </head>
14
+
15
+ <body>
16
+ <div id="wrap">
17
+ <a id="a" href="{{ r }}/?ru" class="af">refresh</a>
18
+ <a id="a" href="{{ r }}/?h" class="af">control-panel</a>
19
+ <form method="get" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" action="{{ r }}">
20
+ <input type="hidden" name="ru" value="a" />
21
+ Filter: <input type="text" name="filter" size="20" placeholder="documents/passwords" value="{{ filt }}" />
22
+ <input type="submit" />
23
+ </form>
24
+ <span id="hits"></span>
25
+ <table id="tab"><thead><tr>
26
+ <th>size</th>
27
+ <th>who</th>
28
+ <th>when</th>
29
+ <th>age</th>
30
+ <th>dir</th>
31
+ <th>file</th>
32
+ </tr></thead><tbody>
33
+ {% for vp, evp, sz, ip, at in rows %}
34
+ <tr>
35
+ <td>{{ sz }}</td>
36
+ <td>{{ ip }}</td>
37
+ <td>{{ at }}</td>
38
+ <td>{{ (now-at) }}</td>
39
+ <td></td>
40
+ <td><a href="{{ r }}{{ evp }}">{{ vp|e }}</a></td>
41
+ </tr>
42
+ {% endfor %}
43
+ </tbody></table>
44
+ {% if not rows %}
45
+ (the database is not aware of any uploads)
46
+ {% endif %}
47
+ </div>
48
+ <a href="#" id="repl">π</a>
49
+ <script>
50
+
51
+ var SR = {{ r|tojson }},
52
+ NOW = {{ now }},
53
+ lang="{{ lang }}",
54
+ dfavico="{{ favico }}";
55
+
56
+ var STG = window.localStorage;
57
+ document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}";
58
+
59
+ </script>
60
+ <script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script>
61
+ <script src="{{ r }}/.cpr/rups.js?_={{ ts }}"></script>
62
+ {%- if js %}
63
+ <script src="{{ js }}_={{ ts }}"></script>
64
+ {%- endif %}
65
+ </body>
66
+ </html>
67
+
Binary file
Binary file
copyparty/web/shares.html CHANGED
@@ -58,6 +58,8 @@
58
58
  {% if not rows %}
59
59
  (you don't have any active shares btw)
60
60
  {% endif %}
61
+ </div>
62
+ <a href="#" id="repl">π</a>
61
63
  <script>
62
64
 
63
65
  var SR = {{ r|tojson }},
copyparty/web/splash.html CHANGED
@@ -157,6 +157,7 @@
157
157
  <blockquote id="ad">enabling no304 will disable all caching; try this if k304 wasn't enough. This will waste a huge amount of network traffic!</blockquote></li>
158
158
  {% endif %}
159
159
 
160
+ <li><a id="af" href="{{ r }}/?ru">show recent uploads</a></li>
160
161
  <li><a id="k" href="{{ r }}/?reset" class="r" onclick="localStorage.clear();return true">reset client settings</a></li>
161
162
  </ul>
162
163
 
Binary file
copyparty/web/up2k.js.gz CHANGED
Binary file
copyparty/web/util.js.gz CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: copyparty
3
- Version: 1.16.5
3
+ Version: 1.16.6
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
@@ -103,6 +103,7 @@ turn almost any device into a file server with resumable uploads/downloads using
103
103
  * [shares](#shares) - share a file or folder by creating a temporary link
104
104
  * [batch rename](#batch-rename) - select some files and press `F2` to bring up the rename UI
105
105
  * [rss feeds](#rss-feeds) - monitor a folder with your RSS reader
106
+ * [recent uploads](#recent-uploads) - list all recent uploads
106
107
  * [media player](#media-player) - plays almost every audio format there is
107
108
  * [audio equalizer](#audio-equalizer) - and [dynamic range compressor](https://en.wikipedia.org/wiki/Dynamic_range_compression)
108
109
  * [fix unreliable playback on android](#fix-unreliable-playback-on-android) - due to phone / app settings
@@ -772,7 +773,7 @@ files go into `[ok]` if they exist (and you get a link to where it is), otherwis
772
773
 
773
774
  ### unpost
774
775
 
775
- undo/delete accidental uploads
776
+ undo/delete accidental uploads using the `[🧯]` tab in the UI
776
777
 
777
778
  ![copyparty-unpost-fs8](https://user-images.githubusercontent.com/241032/129635368-3afa6634-c20f-418c-90dc-ec411f3b3897.png)
778
779
 
@@ -931,6 +932,17 @@ url parameters:
931
932
  * uppercase = reverse-sort; `M` = oldest file first
932
933
 
933
934
 
935
+ ## recent uploads
936
+
937
+ list all recent uploads by clicking "show recent uploads" in the controlpanel
938
+
939
+ will show uploader IP and upload-time if the visitor has the admin permission
940
+
941
+ * global-option `--ups-when` makes upload-time visible to all users, and not just admins
942
+
943
+ note that the [🧯 unpost](#unpost) feature is better suited for viewing *your own* recent uploads, as it includes the option to undo/delete them
944
+
945
+
934
946
  ## media player
935
947
 
936
948
  plays almost every audio format there is (if the server has FFmpeg installed for on-demand transcoding)
@@ -1,7 +1,7 @@
1
- copyparty/__init__.py,sha256=iRCNvMPg6k9WG_O2uCtlkD4vWogH8EgP9elp9XwSIJs,2610
2
- copyparty/__main__.py,sha256=QMgJweEFGzSHpKE54CcJe2sIHwwa8Kf3NRQqch58h0Q,113241
3
- copyparty/__version__.py,sha256=qn_oNmlkJlFLhCQtoyBt5ojEXnzjKAyGucJ0Y9SRkSU,252
4
- copyparty/authsrv.py,sha256=CIK5OKl38LehdAt4hidCMpsATdJhPABJPkJStpQpp9U,103405
1
+ copyparty/__init__.py,sha256=VR6ZZhB9IxaK5TDXDTBM_OIP5ydkrdbaEnstktLM__s,2649
2
+ copyparty/__main__.py,sha256=acjihZUEvEwFp6d6BnT35oFqminMZBruDUfVU76YijA,113564
3
+ copyparty/__version__.py,sha256=JJ3NgXxnmonfdKeivWXs-b4z3FsuOlq62WbiCAifwR4,252
4
+ copyparty/authsrv.py,sha256=n8lQACRCzKnYlgzNv1RkGehv5qI4soYnyZhNw4IPHxA,104062
5
5
  copyparty/broker_mp.py,sha256=QdOXXvV2Xn6J0CysEqyY3GZbqxQMyWnTpnba-a5lMc0,4987
6
6
  copyparty/broker_mpw.py,sha256=PpSS4SK3pItlpfD8OwVr3QmJEPKlUgaf2nuMOozixgU,3347
7
7
  copyparty/broker_thr.py,sha256=fjoYtpSscUA7-nMl4r1n2R7UK3J9lrvLS3rUZ-iJzKQ,1721
@@ -9,30 +9,30 @@ copyparty/broker_util.py,sha256=76mfnFOpX1gUUvtjm8UQI7jpTIaVINX10QonM-B7ggc,1680
9
9
  copyparty/cert.py,sha256=0ZAPeXeMR164vWn9GQU3JDKooYXEq_NOQkDeg543ivg,8009
10
10
  copyparty/cfg.py,sha256=UUmFpFbTm750Nv9RnofS80-FTpWT37EggEtmkE1wbxE,10374
11
11
  copyparty/dxml.py,sha256=lZpg-kn-kQsXRtNY1n6fRaS-b7uXzMCyv8ovKnhZcZc,1548
12
- copyparty/fsutil.py,sha256=5CshJWO7CflfaRRNOb3JxghUH7W5rmS_HWNmKfx42MM,4538
12
+ copyparty/fsutil.py,sha256=IVOFG8zBQPMQDDv7RIStSJHwHiAnVNROZS37O5k465A,4524
13
13
  copyparty/ftpd.py,sha256=T97SFS7JFtvRLbJX8C4fJSYwe13vhN3-E6emtlVmqLA,17608
14
- copyparty/httpcli.py,sha256=DRE8V3YxUk7YIBGSnmuH0px1ZSqtJciY15k1Rk8ThBI,207587
14
+ copyparty/httpcli.py,sha256=DAi4JrEKCGTMBMjobQZ5d9WpisetKwuXLjZr2z1idpE,212463
15
15
  copyparty/httpconn.py,sha256=mQSgljh0Q-jyWjF4tQLrHbRKRe9WKl19kGqsGMsJpWo,6880
16
- copyparty/httpsrv.py,sha256=PXLZlT6iuJZYG9ajNsAaNgRK3UtS4CrOGFGXOpkRtOk,18235
16
+ copyparty/httpsrv.py,sha256=a_WKCKlN5isIoy8bNdttlQFha_8X_E_cPoToZv2q5Cw,18255
17
17
  copyparty/ico.py,sha256=eWSxEae4wOCfheHl-m-wchYvFRAR_97kJDb4NGaB-Z8,3561
18
18
  copyparty/mdns.py,sha256=G73OWWg1copda47LgayCRK7qjVrk6cnUGpMR5ugmi7o,18315
19
19
  copyparty/metrics.py,sha256=EOIiPOItEQmdK9YgNb75l0kCzanWb6RtJGwMI7ufifY,8966
20
- copyparty/mtag.py,sha256=o-rxu4LajWF4H3HFmfCbXnKfs0GCQh1FQ0XywuW6wOc,19934
20
+ copyparty/mtag.py,sha256=wWWc3BHMRP0u85KvdZpX3Dp4djDgAbXVrL9Pvab4nPQ,19925
21
21
  copyparty/multicast.py,sha256=Ha27l2oATEa-Qo2WOzkeRgjAm6G_YDCfbVJWR-ao2UE,12319
22
22
  copyparty/pwhash.py,sha256=X87RWeay8IhzGVZLDKE5LctF9YVUcYxPAJ1BX6r_9CU,4248
23
- copyparty/smbd.py,sha256=Or7RF13cl1r3ncnpVh8BqyAGqH2Oa04O9iPZWCoB0Bo,14609
23
+ copyparty/smbd.py,sha256=dixFl2wlWymq_Cycc8a4cVB4gY8RSg2e3tE7Xr-aDa0,14614
24
24
  copyparty/ssdp.py,sha256=R1Z61GZOxBMF2Sk4RTxKWMOemogmcjEWG-CvLihd45k,7023
25
25
  copyparty/star.py,sha256=tV5BbX6AiQ7N4UU8DYtSTckNYeoeey4DBqq4LjfymbY,3818
26
- copyparty/sutil.py,sha256=JTMrQwcWH85hXB_cKG206eDZ967WZDGaP00AWvl_gB0,3214
26
+ copyparty/sutil.py,sha256=6zEEGl4hRe6bTB83Y_RtnBGxr2JcUa__GdiAMqNJZnY,3208
27
27
  copyparty/svchub.py,sha256=sAHkiPGzzKACLqKlem2V-bps9Xh-wHlcfwaNywxcd5A,40877
28
28
  copyparty/szip.py,sha256=HFtnwOiBgx0HMLUf-h_T84zSlRijPxmhRo5PM613kRA,8602
29
29
  copyparty/tcpsrv.py,sha256=H7z9tzYRCm-kZwktnm_wP-v2MXaIOygx9yfdk1xkqRo,19889
30
- copyparty/tftpd.py,sha256=FRCALO3PigoBlwUrqxoKHM_xk7wT2O0GPG1TvNRtjOY,13606
31
- copyparty/th_cli.py,sha256=o6FMkerYvAXS455z3DUossVztu_nzFlYSQhs6qN6Jt8,4636
32
- copyparty/th_srv.py,sha256=LBcB4LpsF-H7L52Z0Dhn9LogRjJVPp1GKa8MeIMIBnw,29596
33
- copyparty/u2idx.py,sha256=kF4TE-j78Faq_f4vGh5So5raYDYLt2UDpza6yBA3f54,13687
34
- copyparty/up2k.py,sha256=KQZcpqWRwjvmJLFEo3ejVWDroQi10jQdvgxuASDpUlY,174476
35
- copyparty/util.py,sha256=UyaYXfVO4nOkqhSMi9SZn2zK2W9texb9CL9rsqMak8I,95135
30
+ copyparty/tftpd.py,sha256=PXgG4rTmiaU_TavSyZWD5cFphdfChs9YvNY21qfExt8,13611
31
+ copyparty/th_cli.py,sha256=1B8el4NNs5cNyJyjOPiAdvLOX2HQXaebsHn6VLdZ_gU,4630
32
+ copyparty/th_srv.py,sha256=uAcz-wZJQEG5KavcZDkwToONZujyoOeC4oCxxKTD5us,29575
33
+ copyparty/u2idx.py,sha256=G6MDbD4I_sJSOwaNFZ6XLTQhnEDrB12pVKuKhzQ_leE,13676
34
+ copyparty/up2k.py,sha256=u7yLOD9ypqTEmA3bMPXqXrvebo7Lq62NjUdSZ_oGw0E,174556
35
+ copyparty/util.py,sha256=qhNakLtygJveVbZUuPvDY7Tm1E48E67CS9XBmosu5i4,95101
36
36
  copyparty/bos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  copyparty/bos/bos.py,sha256=Wb7eWsXJgR5AFlBR9ZOyKrLTwy-Kct9RrGiOu4Jo37Y,1622
38
38
  copyparty/bos/path.py,sha256=yEjCq2ki9CvxA5sCT8pS0keEXwugs0ZeUyUhdBziOCI,777
@@ -71,17 +71,20 @@ copyparty/web/mde.html,sha256=ImBhQAaEUCke2M85QU_fl4X2XQExRLcEzgCEN8RNe9o,1759
71
71
  copyparty/web/mde.js.gz,sha256=kN2eUSvr4mFuksfK4-4LimJmWdwsao39Sea2lWtu8L0,2224
72
72
  copyparty/web/msg.css.gz,sha256=u90fXYAVrMD-jqwf5XFVC1ptSpSHZUe8Mez6PX101P8,300
73
73
  copyparty/web/msg.html,sha256=w9CM3hkLLGJX9fWEaG4gSbTOPe2GcPqW8BpSCDiFzOI,977
74
- copyparty/web/shares.css.gz,sha256=T2fSezuluDVIiNIERAuUREByhHFlIwwNyx7EBOAVVyQ,499
75
- copyparty/web/shares.html,sha256=ZNHtLBM-Y4BX2qa9AGTrZzZp_IP5PLM3QvFMYKolFfM,2494
74
+ copyparty/web/rups.css.gz,sha256=slfIxkdQ4vmYfMw0hlqX9bl-L8MpGsNF8HOIJvYcGWM,674
75
+ copyparty/web/rups.html,sha256=XEdGH-h-McwCXAx7POF0atyyLDUdDeBL0OnM3vBnyzU,2006
76
+ copyparty/web/rups.js.gz,sha256=wVEV-jrXLj0jrrmxtZqTQVpvF9KpDnkvujw6Tx8Bk3o,469
77
+ copyparty/web/shares.css.gz,sha256=SdPlZCBwz9tkPkgEo5pSPDOZSI079njxEfkJ64-iW3c,547
78
+ copyparty/web/shares.html,sha256=IhZnADkNoD_2-zEJnoiMG68iOXB58Ros1UNFVXjEwWE,2535
76
79
  copyparty/web/shares.js.gz,sha256=emeY2-wjkh8x1JgaW6ny5fcC7XpZzZzfE1f-sEyntQ4,940
77
80
  copyparty/web/splash.css.gz,sha256=VxFqPvNdZtWb0u1C_GW2yYwrHq0lqPMitft9GYcv56k,1087
78
- copyparty/web/splash.html,sha256=wc8El8_5BR3EMuVik8WYAkkEQ4S6-VepR1B1F8qAYgI,6190
79
- copyparty/web/splash.js.gz,sha256=EEfsi9YGtPTYRB6MPX8Dfg4YyfqncI9ldJS7_MGVOhs,2710
81
+ copyparty/web/splash.html,sha256=2iTamber6qv84SvbQzibL-onvRUJwyfthUaFgeYdBRA,6256
82
+ copyparty/web/splash.js.gz,sha256=4VqNznN10-bT33IJm3VWzBEJ1s08XZyxFB1TYPUkuAo,2739
80
83
  copyparty/web/svcs.html,sha256=5cAp6RAkvqfDAbO9kxuDgXcmuDH20ZN2fse0uzCXb5s,11564
81
84
  copyparty/web/svcs.js.gz,sha256=k81ZvZ3I-f4fMHKrNGGOgOlvXnCBz0mVjD-8mieoWCA,520
82
85
  copyparty/web/ui.css.gz,sha256=v8U-1tetZzuzTpITjq8NWj1gg3jEiYDIIE8aE0dx63k,2800
83
- copyparty/web/up2k.js.gz,sha256=0keU0ljh9B41VsoVMpi-NtuYjtGl00xUgNH20CIbz8Y,23449
84
- copyparty/web/util.js.gz,sha256=MMDIZbxzBwBYE5eYLzhGGpC7h257oEFZaBKZwJ4uhc8,15077
86
+ copyparty/web/up2k.js.gz,sha256=CC1MM_FBfxpsjgtNWupzCdnlVNI3hBbWbNSCnOSpCTY,23460
87
+ copyparty/web/util.js.gz,sha256=aXgf3U-0TL9Sc7uMQhA_sMyTXLsZCH3YDe8qLJ4hpEM,15082
85
88
  copyparty/web/w.hash.js.gz,sha256=l3GpSJD6mcU-1CRWkIj7PybgbjlfSr8oeO3vortIrQk,1105
86
89
  copyparty/web/a/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
90
  copyparty/web/a/partyfuse.py,sha256=9p5Hpg_IBiSimv7j9kmPhCGpy-FLXSRUOYnLjJ5JifU,28049
@@ -106,9 +109,9 @@ copyparty/web/deps/prismd.css.gz,sha256=ObUlksQVr-OuYlTz-I4B23TeBg2QDVVGRnWBz8cV
106
109
  copyparty/web/deps/scp.woff2,sha256=w99BDU5i8MukkMEL-iW0YO9H4vFFZSPWxbkH70ytaAg,8612
107
110
  copyparty/web/deps/sha512.ac.js.gz,sha256=lFZaCLumgWxrvEuDr4bqdKHsqjX82AbVAb7_F45Yk88,7033
108
111
  copyparty/web/deps/sha512.hw.js.gz,sha256=UAed2_ocklZCnIzcSYz2h4P1ycztlCLj-ewsRTud2lU,7939
109
- copyparty-1.16.5.dist-info/LICENSE,sha256=gOr4h33pCsBEg9uIy9AYmb7qlocL4V9t2uPJS5wllr0,1072
110
- copyparty-1.16.5.dist-info/METADATA,sha256=GZhzGQ_TCgJ9upH18-bjepyQPkFI5pK7EL64w7SWSD0,140992
111
- copyparty-1.16.5.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
112
- copyparty-1.16.5.dist-info/entry_points.txt,sha256=4zw6a3rqASywQomiYLObjjlxybaI65LYYOTJwgKz7b0,128
113
- copyparty-1.16.5.dist-info/top_level.txt,sha256=LnYUPsDyk-8kFgM6YJLG4h820DQekn81cObKSu9g-sI,10
114
- copyparty-1.16.5.dist-info/RECORD,,
112
+ copyparty-1.16.6.dist-info/LICENSE,sha256=gOr4h33pCsBEg9uIy9AYmb7qlocL4V9t2uPJS5wllr0,1072
113
+ copyparty-1.16.6.dist-info/METADATA,sha256=YD_Fomt3BWkdN4PksbjdhOTgjdqO1nDew-_XdTYjiKU,141509
114
+ copyparty-1.16.6.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
115
+ copyparty-1.16.6.dist-info/entry_points.txt,sha256=4zw6a3rqASywQomiYLObjjlxybaI65LYYOTJwgKz7b0,128
116
+ copyparty-1.16.6.dist-info/top_level.txt,sha256=LnYUPsDyk-8kFgM6YJLG4h820DQekn81cObKSu9g-sI,10
117
+ copyparty-1.16.6.dist-info/RECORD,,