materials-commons-cli 2.2.1__py2.py3-none-any.whl → 2.2.2__py2.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.
@@ -1 +1 @@
1
- __version__ = '2.2.1'
1
+ __version__ = '2.2.2'
@@ -43,6 +43,7 @@ class FileUploader:
43
43
  self.in_flight_chunks = 0
44
44
  self.last_acked_chunk = -1
45
45
  self._state_lock = asyncio.Lock()
46
+ self._already_uploaded = False
46
47
 
47
48
  # Response handling
48
49
  self.response_queue: asyncio.Queue = asyncio.Queue()
@@ -59,6 +60,9 @@ class FileUploader:
59
60
 
60
61
  # Step 2: Wait for acceptance
61
62
  if not await self._wait_for_acceptance():
63
+ if self._already_uploaded:
64
+ logger.info(f"File {self.file_path.name} already uploaded")
65
+ return True
62
66
  return False
63
67
 
64
68
  # # Step 3: Send file chunks
@@ -161,7 +165,11 @@ class FileUploader:
161
165
 
162
166
  elif msg["command"] == "TRANSFER_REJECT":
163
167
  reason = msg["payload"].get("reason", "unknown")
164
- logger.error(f"Transfer rejected: {reason}")
168
+ if reason == "file already uploaded":
169
+ # TODO: This is a hack to prevent uploading the same file twice. We need a better solution.
170
+ self._already_uploaded = True
171
+ else:
172
+ logger.error(f"Transfer rejected: {reason}")
165
173
  return False
166
174
 
167
175
  logger.error(f"Unexpected response: {msg['command']}")
@@ -6,7 +6,7 @@ from datetime import datetime, timedelta
6
6
  from io import StringIO
7
7
 
8
8
  import materials_commons.api as mcapi
9
- import pkg_resources
9
+ from importlib.metadata import PackageNotFoundError, version as pkg_version
10
10
  import requests
11
11
 
12
12
  import materials_commons.cli.functions as clifuncs
@@ -74,8 +74,12 @@ def make_parser():
74
74
  description='Materials Commons command line interface',
75
75
  usage=usage_help.getvalue())
76
76
  parser.add_argument('command', help='Subcommand to run')
77
- parser.add_argument('--version', '-v', action='version',
78
- version=pkg_resources.get_distribution('materials-commons-cli').version)
77
+ package_name = 'materials-commons-cli'
78
+ try:
79
+ installed_version = pkg_version(package_name)
80
+ except PackageNotFoundError:
81
+ installed_version = "unknown"
82
+ parser.add_argument('--version', '-v', action='version', version=installed_version)
79
83
 
80
84
  return parser
81
85
 
@@ -113,7 +117,7 @@ def check_package_version():
113
117
 
114
118
  package_name = 'materials-commons-cli'
115
119
  try:
116
- current_version = pkg_resources.get_distribution(package_name).version
120
+ current_version = pkg_version(package_name)
117
121
  response = requests.get(f"https://pypi.org/pypi/{package_name}/json")
118
122
  latest_version = response.json()["info"]["version"]
119
123
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: materials-commons-cli
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Materials Commons CLI
5
5
  Home-page: https://materials-commons.github.io/materials-commons-cli/html/index.html
6
6
  Author: Materials Commons development team
@@ -1,12 +1,12 @@
1
1
  materials_commons/cli/LICENSE.txt,sha256=wPwCqGrisXnEcpaUxSO79C2mdOUTbtjhLjyy8mVW6p8,1046
2
- materials_commons/cli/__init__.py,sha256=-7agX4LcQ0956RU4mY0EYyxYQU9llH7JklZOsqoujdU,22
2
+ materials_commons/cli/__init__.py,sha256=jsJ9CNIuUt8dDFB4i0PiBf07nzBU0RtG1CVRQ7TdoQ0,22
3
3
  materials_commons/cli/cloned_project.py,sha256=ZsgW7StBQK2o6s-JCfbBRYvaeyPyJRHktQCWiLzDVDs,9367
4
4
  materials_commons/cli/exceptions.py,sha256=QUa08womR1N091z0D17mkjVRehPFf44KzoOGJfgCskg,215
5
5
  materials_commons/cli/file_functions.py,sha256=Nh4KtJvYCUf25Q_w1yCxC7JYUjdlzUb7vbEtg0gjpmk,5615
6
6
  materials_commons/cli/functions.py,sha256=n-9LSmmtAOGd8NlvkHyv_enfKhUqnNlZGCVmo0cO-Xo,28931
7
7
  materials_commons/cli/globus.py,sha256=b5QgMUnlOWyDc0iB2UBdVQZ_4w7fwt-EIw2GDqkxLTM,16596
8
8
  materials_commons/cli/list_objects.py,sha256=Cjmxteg4LcytubZVN8O8_HA9Zbw_9rSYGnckdhm9AQA,17937
9
- materials_commons/cli/parser.py,sha256=GK-3TpZ46-cUCxtilCWNDLocZpL66AquqeL2UxIn6ug,7673
9
+ materials_commons/cli/parser.py,sha256=2UISHcQvKXsSYdEhyJ7SrWndOEDGulg7ze-NhcBIXN4,7808
10
10
  materials_commons/cli/print_formatter.py,sha256=zELeYEIupcHV31jvqrHkF7RlFgEcHwsv1uDBAZS8bn8,3411
11
11
  materials_commons/cli/sqltable.py,sha256=UBMwMZD0qLv4sA3bovdt10YKHGCdkna-clYFqhhH5FU,7033
12
12
  materials_commons/cli/tmp_functions.py,sha256=qf7cvg431V3nkuaMvR79QY4OvMWKwhsscGjWsr1VMEM,1577
@@ -24,7 +24,7 @@ materials_commons/cli/desktop/downloader/file_downloader.py,sha256=aIQchvxdj1RHp
24
24
  materials_commons/cli/desktop/uploader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  materials_commons/cli/desktop/uploader/api.py,sha256=zdLDpO7L6LKQpAE6AMVzVmMkZFBXyt9uZWsP-Ase8CI,6671
26
26
  materials_commons/cli/desktop/uploader/file_transfer_manager.py,sha256=9hM4A0m8aumabAwg9zAIHeridrXLrnrD60d8FN76zLc,8074
27
- materials_commons/cli/desktop/uploader/file_uploader.py,sha256=h5OTkK1W2tB41SR9OP58L8vk7MJFvrFSF12p0oPDC3A,15545
27
+ materials_commons/cli/desktop/uploader/file_uploader.py,sha256=PMSIst5TMwhQjbRuLqPlyjQZF3Y4pUid6wjfybfgMCE,15965
28
28
  materials_commons/cli/subcommands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  materials_commons/cli/subcommands/clone.py,sha256=txhOXoo6aNkJ1UTARXgwSTvRgl3K0GU6-hUTAERDiQA,1132
30
30
  materials_commons/cli/subcommands/config.py,sha256=KDaF-5OuXonZiun9wlv_mr97kTcVWdDaYF8nZHmeyTA,1172
@@ -43,9 +43,9 @@ materials_commons/cli/subcommands/rm.py,sha256=SbE0Q7Z6dvD6SWJH4ZxbXm32Qn4XeKl0d
43
43
  materials_commons/cli/subcommands/server.py,sha256=2X7lzqnKBiVdVFVUK6fQzt2uFhPsW8t4t0VVbyAbjLE,2702
44
44
  materials_commons/cli/subcommands/up.py,sha256=hHCBUXYiELTCQ7jGUZHxDVvm-NDjhHr9YAH2_qGQUjs,9813
45
45
  materials_commons/cli/subcommands/versions.py,sha256=rjMdazTGiybfpTTJTlCixvkUC1O5pM1CF0qtlBZ8iws,9938
46
- materials_commons_cli-2.2.1.dist-info/LICENSE,sha256=rrjezvSS7D1c2hvNFg6BlrCgli8sxqR89C2zA_XIH80,1074
47
- materials_commons_cli-2.2.1.dist-info/METADATA,sha256=29zvZGVMkWSF6FcuKTT_NBR4kw3ai5lMY3R6nwMDENY,1468
48
- materials_commons_cli-2.2.1.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
49
- materials_commons_cli-2.2.1.dist-info/entry_points.txt,sha256=QummyCU7lYlhTMd5_QgAyFu0vBjS3cxRbEhoacmf_q0,58
50
- materials_commons_cli-2.2.1.dist-info/top_level.txt,sha256=-7hjhx61s4kebg-GGOv1cWWUrj68nye1-oAbjFO53aw,18
51
- materials_commons_cli-2.2.1.dist-info/RECORD,,
46
+ materials_commons_cli-2.2.2.dist-info/LICENSE,sha256=rrjezvSS7D1c2hvNFg6BlrCgli8sxqR89C2zA_XIH80,1074
47
+ materials_commons_cli-2.2.2.dist-info/METADATA,sha256=AIPfvKc8GkQc3x8kaYv2LcU53fWtMfYAlY-hXRp5oP4,1468
48
+ materials_commons_cli-2.2.2.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
49
+ materials_commons_cli-2.2.2.dist-info/entry_points.txt,sha256=QummyCU7lYlhTMd5_QgAyFu0vBjS3cxRbEhoacmf_q0,58
50
+ materials_commons_cli-2.2.2.dist-info/top_level.txt,sha256=-7hjhx61s4kebg-GGOv1cWWUrj68nye1-oAbjFO53aw,18
51
+ materials_commons_cli-2.2.2.dist-info/RECORD,,