materials-commons-cli 2.2.1__tar.gz → 2.2.2__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.
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/PKG-INFO +1 -1
- materials_commons_cli-2.2.2/materials_commons/cli/__init__.py +1 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/uploader/file_uploader.py +9 -1
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/parser.py +8 -4
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/PKG-INFO +1 -1
- materials_commons_cli-2.2.1/materials_commons/cli/__init__.py +0 -1
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/LICENSE +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/README.md +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/LICENSE.txt +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/cloned_project.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/__init__.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/command_handlers.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/downloader/__init__.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/downloader/file_download_manager.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/downloader/file_downloader.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/local_rest_server.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/projects.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/uploader/__init__.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/uploader/api.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/uploader/file_transfer_manager.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/desktop/websocket_server.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/exceptions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/file_functions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/functions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/globus.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/list_objects.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/print_formatter.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/sqltable.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/__init__.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/clone.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/config.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/dataset.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/down.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/expt.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/fetch.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/globus.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/init.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/ls.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/mkdir.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/mv.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/proj.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/remote.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/rm.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/server.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/up.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/versions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/tmp_functions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/tree_functions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/treedb.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/user_config.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/SOURCES.txt +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/dependency_links.txt +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/entry_points.txt +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/not-zip-safe +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/requires.txt +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons_cli.egg-info/top_level.txt +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/setup.cfg +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/setup.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_api.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_functions.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_dataset.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_down.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_mkdir.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_mv.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_proj.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_rm.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_mc_up.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_treecompare_no_cache.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_treecompare_with_cache.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_treedb.py +0 -0
- {materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_user_config.py +0 -0
|
@@ -0,0 +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
|
-
|
|
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
|
|
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
|
-
|
|
78
|
-
|
|
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 =
|
|
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 +0,0 @@
|
|
|
1
|
-
__version__ = '2.2.1'
|
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/LICENSE.txt
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/cloned_project.py
RENAMED
|
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
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/exceptions.py
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/file_functions.py
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/functions.py
RENAMED
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/list_objects.py
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/print_formatter.py
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/sqltable.py
RENAMED
|
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
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/ls.py
RENAMED
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/mv.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/rm.py
RENAMED
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/subcommands/up.py
RENAMED
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/tmp_functions.py
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/tree_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/materials_commons/cli/user_config.py
RENAMED
|
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
|
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_treecompare_no_cache.py
RENAMED
|
File without changes
|
{materials_commons_cli-2.2.1 → materials_commons_cli-2.2.2}/test/test_treecompare_with_cache.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|