cloudinary-cli 1.11.0__tar.gz → 1.11.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.
- {cloudinary_cli-1.11.0/cloudinary_cli.egg-info → cloudinary_cli-1.11.2}/PKG-INFO +2 -2
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/utils/api_utils.py +2 -1
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/utils/utils.py +6 -3
- cloudinary_cli-1.11.2/cloudinary_cli/version.py +1 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2/cloudinary_cli.egg-info}/PKG-INFO +2 -2
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/requires.txt +1 -1
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/requirements.txt +1 -1
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_utils.py +10 -1
- cloudinary_cli-1.11.0/cloudinary_cli/version.py +0 -1
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/LICENSE +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/MANIFEST.in +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/README.md +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/cli.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/cli_group.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/admin.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/config.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/overrides.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/provisioning.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/search.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/uploader.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/core/utils.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/defaults.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/clone.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/make.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/migrate.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/regen_derived.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/sync.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/modules/upload_dir.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/samples/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/html/media_library_widget +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/html/product_gallery +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/html/upload_widget +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/html/video_player +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/node/upload +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/python/base +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/python/explicit +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/python/find_all_empty_folders +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/python/upload +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/ruby/upload +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/utils/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/utils/config_utils.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/utils/file_utils.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/utils/json_utils.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/SOURCES.txt +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/dependency_links.txt +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/entry_points.txt +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/not-zip-safe +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/top_level.txt +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/setup.cfg +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/setup.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/helper_test.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli_api.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli_config.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli_samples.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli_search_api.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli_url.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_cli_utils.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_file_utils.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_modules/__init__.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_modules/test_cli_make.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_modules/test_cli_sync.py +0 -0
- {cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/test/test_modules/test_cli_upload_dir.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cloudinary-cli
|
|
3
|
-
Version: 1.11.
|
|
3
|
+
Version: 1.11.2
|
|
4
4
|
Summary: A command line interface for Cloudinary with full API support
|
|
5
5
|
Home-page: https://github.com/cloudinary/cloudinary-cli
|
|
6
6
|
Author: Cloudinary, Brian Luk
|
|
@@ -13,7 +13,7 @@ Classifier: Operating System :: OS Independent
|
|
|
13
13
|
Requires-Python: >=3.6.0
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: cloudinary>=1.
|
|
16
|
+
Requires-Dist: cloudinary>=1.42.2
|
|
17
17
|
Requires-Dist: pygments
|
|
18
18
|
Requires-Dist: jinja2
|
|
19
19
|
Requires-Dist: click
|
|
@@ -25,9 +25,10 @@ def query_cld_folder(folder, folder_mode):
|
|
|
25
25
|
files = {}
|
|
26
26
|
|
|
27
27
|
folder = folder.strip('/') # omit redundant leading slash and duplicate trailing slashes in query
|
|
28
|
+
folder_key = "asset_folder" if folder_mode == "dynamic" else "folder"
|
|
28
29
|
folder_query = f"{folder}/*" if folder else "*"
|
|
29
30
|
|
|
30
|
-
expression = Search().expression(f"
|
|
31
|
+
expression = Search().expression(f"{folder_key}:\"{folder_query}\"").with_field("image_analysis").max_results(500)
|
|
31
32
|
|
|
32
33
|
next_cursor = True
|
|
33
34
|
while next_cursor:
|
|
@@ -149,7 +149,7 @@ def parse_args_kwargs(func, params=None, kwargs=None):
|
|
|
149
149
|
params_specs = parse(func.__doc__).params
|
|
150
150
|
|
|
151
151
|
if len(args) > num_req:
|
|
152
|
-
# Here we
|
|
152
|
+
# Here we consumed more args than the function can get,
|
|
153
153
|
# let's see if we have a list arg and pass everything as list.
|
|
154
154
|
# Otherwise, let's pass everything as is and hope for the best :)
|
|
155
155
|
last_positional_list_param = next((s for s in reversed(params_specs) if s.arg_name not in kwargs and s.type_name and s.type_name.startswith('list')), None)
|
|
@@ -161,7 +161,10 @@ def parse_args_kwargs(func, params=None, kwargs=None):
|
|
|
161
161
|
for s in params_specs:
|
|
162
162
|
if s.type_name and s.type_name.startswith('list'):
|
|
163
163
|
pos = get_index_by_name(spec.args, s.arg_name)
|
|
164
|
-
|
|
164
|
+
if isinstance(pos, int) and 0 <= pos < len(args):
|
|
165
|
+
args[pos] = normalize_list_params(args[pos])
|
|
166
|
+
if s.arg_name in kwargs:
|
|
167
|
+
kwargs[s.arg_name] = normalize_list_params(kwargs[s.arg_name])
|
|
165
168
|
|
|
166
169
|
return args, kwargs
|
|
167
170
|
|
|
@@ -334,7 +337,7 @@ def normalize_list_params(params):
|
|
|
334
337
|
"""
|
|
335
338
|
normalized_params = []
|
|
336
339
|
for f in build_array(params):
|
|
337
|
-
if "," in f:
|
|
340
|
+
if isinstance(f, str) and "," in f:
|
|
338
341
|
normalized_params += f.split(",")
|
|
339
342
|
else:
|
|
340
343
|
normalized_params.append(f)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.11.2"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cloudinary-cli
|
|
3
|
-
Version: 1.11.
|
|
3
|
+
Version: 1.11.2
|
|
4
4
|
Summary: A command line interface for Cloudinary with full API support
|
|
5
5
|
Home-page: https://github.com/cloudinary/cloudinary-cli
|
|
6
6
|
Author: Cloudinary, Brian Luk
|
|
@@ -13,7 +13,7 @@ Classifier: Operating System :: OS Independent
|
|
|
13
13
|
Requires-Python: >=3.6.0
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: cloudinary>=1.
|
|
16
|
+
Requires-Dist: cloudinary>=1.42.2
|
|
17
17
|
Requires-Dist: pygments
|
|
18
18
|
Requires-Dist: jinja2
|
|
19
19
|
Requires-Dist: click
|
|
@@ -70,6 +70,15 @@ class UtilsTest(unittest.TestCase):
|
|
|
70
70
|
self.assertListEqual(["l1a0", "l1a1", "l1a2", "l1a3"], args[2])
|
|
71
71
|
self.assertEqual("sa2", args[3])
|
|
72
72
|
|
|
73
|
+
# should consume list values separated by spaces and commas in kwargs
|
|
74
|
+
args, kwargs = parse_args_kwargs(_list_args_test_func,
|
|
75
|
+
["l0a0,l0a1,l0a2", "sa0"], {"list_arg": "l1a0,l1a1", "non_list_arg2": "sa2"})
|
|
76
|
+
self.assertEqual(2, len(args))
|
|
77
|
+
self.assertListEqual(["l0a0", "l0a1", "l0a2"], args[0])
|
|
78
|
+
self.assertEqual("sa0", args[1])
|
|
79
|
+
self.assertListEqual(["l1a0", "l1a1"], kwargs["list_arg"])
|
|
80
|
+
self.assertEqual("sa2", kwargs["non_list_arg2"])
|
|
81
|
+
|
|
73
82
|
def test_group_params(self):
|
|
74
83
|
self.assertDictEqual({}, group_params([]))
|
|
75
84
|
self.assertDictEqual({"k1": "v1", "k2": "v2"}, group_params([("k1", "v1"), ("k2", "v2")]))
|
|
@@ -143,7 +152,7 @@ def _args_kwargs_test_func(arg1, arg2=None):
|
|
|
143
152
|
return arg1, arg2
|
|
144
153
|
|
|
145
154
|
|
|
146
|
-
def _list_args_test_func(fist_list_arg, non_list_arg, list_arg, non_list_arg2):
|
|
155
|
+
def _list_args_test_func(fist_list_arg, non_list_arg, list_arg=None, non_list_arg2=None):
|
|
147
156
|
"""
|
|
148
157
|
Function for testing list args.
|
|
149
158
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.11.0"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/html/media_library_widget
RENAMED
|
File without changes
|
{cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli/templates/html/product_gallery
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
|
{cloudinary_cli-1.11.0 → cloudinary_cli-1.11.2}/cloudinary_cli.egg-info/dependency_links.txt
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
|
|
File without changes
|
|
File without changes
|