copyparty 1.19.6__tar.gz → 1.19.7__tar.gz

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.
Files changed (118) hide show
  1. {copyparty-1.19.6 → copyparty-1.19.7}/PKG-INFO +1 -1
  2. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/__main__.py +9 -5
  3. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/__version__.py +2 -2
  4. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/browser.js.gz +0 -0
  5. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty.egg-info/PKG-INFO +1 -1
  6. {copyparty-1.19.6 → copyparty-1.19.7}/LICENSE +0 -0
  7. {copyparty-1.19.6 → copyparty-1.19.7}/README.md +0 -0
  8. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/__init__.py +0 -0
  9. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/authsrv.py +0 -0
  10. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/bos/__init__.py +0 -0
  11. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/bos/bos.py +0 -0
  12. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/bos/path.py +0 -0
  13. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/broker_mp.py +0 -0
  14. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/broker_mpw.py +0 -0
  15. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/broker_thr.py +0 -0
  16. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/broker_util.py +0 -0
  17. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/cert.py +0 -0
  18. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/cfg.py +0 -0
  19. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/dxml.py +0 -0
  20. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/fsutil.py +0 -0
  21. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/ftpd.py +0 -0
  22. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/httpcli.py +0 -0
  23. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/httpconn.py +0 -0
  24. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/httpsrv.py +0 -0
  25. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/ico.py +0 -0
  26. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/mdns.py +0 -0
  27. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/metrics.py +0 -0
  28. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/mtag.py +0 -0
  29. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/multicast.py +0 -0
  30. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/pwhash.py +0 -0
  31. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/res/COPYING.txt +0 -0
  32. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/res/__init__.py +0 -0
  33. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/res/insecure.pem +0 -0
  34. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/smbd.py +0 -0
  35. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/ssdp.py +0 -0
  36. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/star.py +0 -0
  37. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/__init__.py +0 -0
  38. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/__init__.py +0 -0
  39. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/bimap.py +0 -0
  40. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/bit.py +0 -0
  41. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/buffer.py +0 -0
  42. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/dns.py +0 -0
  43. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/label.py +0 -0
  44. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/lex.py +0 -0
  45. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/dnslib/ranges.py +0 -0
  46. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/ifaddr/__init__.py +0 -0
  47. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/ifaddr/_posix.py +0 -0
  48. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/ifaddr/_shared.py +0 -0
  49. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/ifaddr/_win32.py +0 -0
  50. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/qrcodegen.py +0 -0
  51. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/stolen/surrogateescape.py +0 -0
  52. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/sutil.py +0 -0
  53. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/svchub.py +0 -0
  54. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/szip.py +0 -0
  55. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/tcpsrv.py +0 -0
  56. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/tftpd.py +0 -0
  57. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/th_cli.py +0 -0
  58. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/th_srv.py +0 -0
  59. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/u2idx.py +0 -0
  60. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/up2k.py +0 -0
  61. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/util.py +0 -0
  62. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/a/__init__.py +0 -0
  63. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/a/partyfuse.py +0 -0
  64. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/a/u2c.py +0 -0
  65. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/a/webdav-cfg.bat +0 -0
  66. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/baguettebox.js.gz +0 -0
  67. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/browser.css.gz +0 -0
  68. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/browser.html +0 -0
  69. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/browser2.html +0 -0
  70. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/cf.html +0 -0
  71. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/dbg-audio.js.gz +0 -0
  72. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/__init__.py +0 -0
  73. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/busy.mp3.gz +0 -0
  74. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/easymde.css.gz +0 -0
  75. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/easymde.js.gz +0 -0
  76. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/fuse.py +0 -0
  77. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/marked.js.gz +0 -0
  78. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/mini-fa.css.gz +0 -0
  79. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/mini-fa.woff +0 -0
  80. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/prism.css.gz +0 -0
  81. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/prism.js.gz +0 -0
  82. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/prismd.css.gz +0 -0
  83. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/scp.woff2 +0 -0
  84. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/sha512.ac.js.gz +0 -0
  85. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/deps/sha512.hw.js.gz +0 -0
  86. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/idp.html +0 -0
  87. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/md.css.gz +0 -0
  88. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/md.html +0 -0
  89. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/md.js.gz +0 -0
  90. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/md2.css.gz +0 -0
  91. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/md2.js.gz +0 -0
  92. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/mde.css.gz +0 -0
  93. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/mde.html +0 -0
  94. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/mde.js.gz +0 -0
  95. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/msg.css.gz +0 -0
  96. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/msg.html +0 -0
  97. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/rups.css.gz +0 -0
  98. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/rups.html +0 -0
  99. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/rups.js.gz +0 -0
  100. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/shares.css.gz +0 -0
  101. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/shares.html +0 -0
  102. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/shares.js.gz +0 -0
  103. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/splash.css.gz +0 -0
  104. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/splash.html +0 -0
  105. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/splash.js.gz +0 -0
  106. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/svcs.html +0 -0
  107. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/svcs.js.gz +0 -0
  108. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/ui.css.gz +0 -0
  109. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/up2k.js.gz +0 -0
  110. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/util.js.gz +0 -0
  111. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty/web/w.hash.js.gz +0 -0
  112. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty.egg-info/SOURCES.txt +0 -0
  113. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty.egg-info/dependency_links.txt +0 -0
  114. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty.egg-info/entry_points.txt +0 -0
  115. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty.egg-info/requires.txt +0 -0
  116. {copyparty-1.19.6 → copyparty-1.19.7}/copyparty.egg-info/top_level.txt +0 -0
  117. {copyparty-1.19.6 → copyparty-1.19.7}/pyproject.toml +0 -0
  118. {copyparty-1.19.6 → copyparty-1.19.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: copyparty
3
- Version: 1.19.6
3
+ Version: 1.19.7
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
@@ -198,14 +198,14 @@ def init_E(EE ) :
198
198
  continue
199
199
 
200
200
  p = os.path.normpath(p)
201
- if os.path.isdir(p) and os.listdir(p):
202
- mkdir = False
203
- else:
204
- mkdir = True
201
+ mkdir = not os.path.isdir(p)
202
+ if mkdir:
205
203
  os.mkdir(p)
206
204
 
207
205
  p = os.path.join(p, "copyparty")
208
- if not os.path.isdir(p):
206
+ try:
207
+ os.listdir(p)
208
+ except:
209
209
  os.mkdir(p)
210
210
 
211
211
  if npath > 1:
@@ -1126,6 +1126,7 @@ def add_general(ap, nc, srvname):
1126
1126
  ap2.add_argument("-v", metavar="VOL", type=u, action="append", help="\033[34mREPEATABLE:\033[0m add volume, \033[33mSRC\033[0m:\033[33mDST\033[0m:\033[33mFLAG\033[0m; examples [\033[32m.::r\033[0m], [\033[32m/mnt/nas/music:/music:r:aed\033[0m], see --help-accounts")
1127
1127
  ap2.add_argument("--grp", metavar="G:N,N", type=u, action="append", help="\033[34mREPEATABLE:\033[0m add group, \033[33mNAME\033[0m:\033[33mUSER1\033[0m,\033[33mUSER2\033[0m,\033[33m...\033[0m; example [\033[32madmins:ed,foo,bar\033[0m]")
1128
1128
  ap2.add_argument("--usernames", action="store_true", help="require username and password for login; default is just password")
1129
+ ap2.add_argument("--chdir", metavar="PATH", type=u, help="change working-directory to \033[33mPATH\033[0m before mapping volumes")
1129
1130
  ap2.add_argument("-ed", action="store_true", help="enable the ?dots url parameter / client option which allows clients to see dotfiles / hidden files (volflag=dots)")
1130
1131
  ap2.add_argument("--urlform", metavar="MODE", type=u, default="print,xm", help="how to handle url-form POSTs; see \033[33m--help-urlform\033[0m")
1131
1132
  ap2.add_argument("--wintitle", metavar="TXT", type=u, default="cpp @ $pub", help="server terminal title, for example [\033[32m$ip-10.1.2.\033[0m] or [\033[32m$ip-]")
@@ -1983,6 +1984,9 @@ def main(argv = None) :
1983
1984
  except:
1984
1985
  sys.exit(1)
1985
1986
 
1987
+ if al.chdir:
1988
+ os.chdir(al.chdir)
1989
+
1986
1990
  if al.ansi:
1987
1991
  al.no_ansi = False
1988
1992
  elif not al.no_ansi:
@@ -1,8 +1,8 @@
1
1
  # coding: utf-8
2
2
 
3
- VERSION = (1, 19, 6)
3
+ VERSION = (1, 19, 7)
4
4
  CODENAME = "usernames"
5
- BUILD_DT = (2025, 8, 27)
5
+ BUILD_DT = (2025, 8, 28)
6
6
 
7
7
  S_VERSION = ".".join(map(str, VERSION))
8
8
  S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: copyparty
3
- Version: 1.19.6
3
+ Version: 1.19.7
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes