gazu 0.10.18__tar.gz → 0.10.20__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.
- {gazu-0.10.18 → gazu-0.10.20}/PKG-INFO +4 -2
- gazu-0.10.20/gazu/__version__.py +1 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/client.py +45 -8
- {gazu-0.10.18 → gazu-0.10.20}/gazu.egg-info/PKG-INFO +4 -2
- {gazu-0.10.18 → gazu-0.10.20}/gazu.egg-info/requires.txt +4 -1
- {gazu-0.10.18 → gazu-0.10.20}/setup.cfg +3 -1
- gazu-0.10.18/gazu/__version__.py +0 -1
- {gazu-0.10.18 → gazu-0.10.20}/LICENSE +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/README.rst +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/__init__.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/asset.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/cache.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/casting.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/concept.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/context.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/edit.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/encoder.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/entity.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/events.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/exception.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/files.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/helpers.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/person.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/playlist.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/project.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/scene.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/shot.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/sorting.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/sync.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/task.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu/user.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu.egg-info/SOURCES.txt +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu.egg-info/dependency_links.txt +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu.egg-info/not-zip-safe +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/gazu.egg-info/top_level.txt +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/pyproject.toml +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/setup.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_asset.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_cache.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_casting.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_client.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_concept.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_context.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_edit.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_entity.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_files.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_helpers.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_person.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_playlist.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_project.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_scene.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_shot.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_sync.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_task.py +0 -0
- {gazu-0.10.18 → gazu-0.10.20}/tests/test_user.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gazu
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.20
|
|
4
4
|
Summary: Gazu is a client for Zou, the API to store the data of your CG production.
|
|
5
5
|
Home-page: https://gazu.cg-wire.com/
|
|
6
6
|
Author: CG Wire
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
25
26
|
Classifier: Topic :: Multimedia :: Graphics
|
|
@@ -27,7 +28,7 @@ Requires-Python: >= 2.7, != 3.0.*, != 3.1.*, != 3.2.*, != 3.3.*, != 3.4.*, != 3.
|
|
|
27
28
|
License-File: LICENSE
|
|
28
29
|
Requires-Dist: python-socketio[client]<6,>=5.11.0; python_version != "2.7"
|
|
29
30
|
Requires-Dist: requests>=2.25.1
|
|
30
|
-
Requires-Dist: Deprecated==1.2.
|
|
31
|
+
Requires-Dist: Deprecated==1.2.15
|
|
31
32
|
Requires-Dist: pywin32>=308; sys_platform == "win32" and python_version != "2.7"
|
|
32
33
|
Provides-Extra: dev
|
|
33
34
|
Requires-Dist: wheel; extra == "dev"
|
|
@@ -35,6 +36,7 @@ Provides-Extra: test
|
|
|
35
36
|
Requires-Dist: pytest; extra == "test"
|
|
36
37
|
Requires-Dist: pytest-cov; extra == "test"
|
|
37
38
|
Requires-Dist: requests_mock; extra == "test"
|
|
39
|
+
Requires-Dist: multipart; python_version >= "3.13" and extra == "test"
|
|
38
40
|
Provides-Extra: lint
|
|
39
41
|
Requires-Dist: autoflake==2.3.1; python_version >= "3.8" and extra == "lint"
|
|
40
42
|
Requires-Dist: black==24.10.0; python_version >= "3.9" and extra == "lint"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.10.20"
|
|
@@ -2,7 +2,6 @@ import sys
|
|
|
2
2
|
import functools
|
|
3
3
|
import json
|
|
4
4
|
import shutil
|
|
5
|
-
import urllib
|
|
6
5
|
import os
|
|
7
6
|
|
|
8
7
|
from .encoder import CustomJSONEncoder
|
|
@@ -23,8 +22,10 @@ from .exception import (
|
|
|
23
22
|
|
|
24
23
|
if sys.version_info[0] == 3:
|
|
25
24
|
from json import JSONDecodeError
|
|
25
|
+
from urllib.parse import urlencode
|
|
26
26
|
else:
|
|
27
27
|
JSONDecodeError = ValueError
|
|
28
|
+
from urllib import urlencode
|
|
28
29
|
|
|
29
30
|
DEBUG = os.getenv("GAZU_DEBUG", "false").lower() == "true"
|
|
30
31
|
|
|
@@ -192,7 +193,7 @@ def get_full_url(path, client=default_client):
|
|
|
192
193
|
|
|
193
194
|
def build_path_with_params(path, params):
|
|
194
195
|
"""
|
|
195
|
-
Add params to a path using urllib encoding
|
|
196
|
+
Add params to a path using urllib encoding.
|
|
196
197
|
|
|
197
198
|
Args:
|
|
198
199
|
path (str): The url base path
|
|
@@ -204,10 +205,13 @@ def build_path_with_params(path, params):
|
|
|
204
205
|
if not params:
|
|
205
206
|
return path
|
|
206
207
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
query_string = urlencode(params)
|
|
209
|
+
|
|
210
|
+
if query_string:
|
|
211
|
+
# Support base paths that already contain query parameters.
|
|
212
|
+
path += "&" if "?" in path else "?"
|
|
213
|
+
path += query_string
|
|
214
|
+
|
|
211
215
|
return path
|
|
212
216
|
|
|
213
217
|
|
|
@@ -400,16 +404,49 @@ def check_status(request, path, client=None):
|
|
|
400
404
|
return status_code, False
|
|
401
405
|
|
|
402
406
|
|
|
403
|
-
def fetch_all(
|
|
407
|
+
def fetch_all(
|
|
408
|
+
path, params=None, client=default_client, paginated=False, limit=None
|
|
409
|
+
):
|
|
404
410
|
"""
|
|
405
411
|
Args:
|
|
406
412
|
path (str): The path for which we want to retrieve all entries.
|
|
413
|
+
paginated (bool): Will query entries page by page.
|
|
414
|
+
limit (int): Limit the number of entries per page.
|
|
407
415
|
|
|
408
416
|
Returns:
|
|
409
417
|
list: All entries stored in database for a given model. You can add a
|
|
410
418
|
filter to the model name like this: "tasks?project_id=project-id"
|
|
411
419
|
"""
|
|
412
|
-
|
|
420
|
+
|
|
421
|
+
if paginated:
|
|
422
|
+
if not params:
|
|
423
|
+
params = {}
|
|
424
|
+
params["page"] = 1
|
|
425
|
+
if limit is not None:
|
|
426
|
+
params["limit"] = limit
|
|
427
|
+
|
|
428
|
+
url = url_path_join("data", path)
|
|
429
|
+
|
|
430
|
+
response = get(url, params=params, client=client)
|
|
431
|
+
|
|
432
|
+
if not paginated:
|
|
433
|
+
return response
|
|
434
|
+
|
|
435
|
+
nb_pages = response.get("nb_pages", 1)
|
|
436
|
+
current_page = response.get("page", 1)
|
|
437
|
+
results = response.get("data", [])
|
|
438
|
+
|
|
439
|
+
if current_page != nb_pages:
|
|
440
|
+
for page in range(2, nb_pages + 1):
|
|
441
|
+
params["page"] = page
|
|
442
|
+
response = get(
|
|
443
|
+
url,
|
|
444
|
+
params=params,
|
|
445
|
+
client=client,
|
|
446
|
+
)
|
|
447
|
+
results += response.get("data", [])
|
|
448
|
+
|
|
449
|
+
return results
|
|
413
450
|
|
|
414
451
|
|
|
415
452
|
def fetch_first(path, params=None, client=default_client):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gazu
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.20
|
|
4
4
|
Summary: Gazu is a client for Zou, the API to store the data of your CG production.
|
|
5
5
|
Home-page: https://gazu.cg-wire.com/
|
|
6
6
|
Author: CG Wire
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
25
26
|
Classifier: Topic :: Multimedia :: Graphics
|
|
@@ -27,7 +28,7 @@ Requires-Python: >= 2.7, != 3.0.*, != 3.1.*, != 3.2.*, != 3.3.*, != 3.4.*, != 3.
|
|
|
27
28
|
License-File: LICENSE
|
|
28
29
|
Requires-Dist: python-socketio[client]<6,>=5.11.0; python_version != "2.7"
|
|
29
30
|
Requires-Dist: requests>=2.25.1
|
|
30
|
-
Requires-Dist: Deprecated==1.2.
|
|
31
|
+
Requires-Dist: Deprecated==1.2.15
|
|
31
32
|
Requires-Dist: pywin32>=308; sys_platform == "win32" and python_version != "2.7"
|
|
32
33
|
Provides-Extra: dev
|
|
33
34
|
Requires-Dist: wheel; extra == "dev"
|
|
@@ -35,6 +36,7 @@ Provides-Extra: test
|
|
|
35
36
|
Requires-Dist: pytest; extra == "test"
|
|
36
37
|
Requires-Dist: pytest-cov; extra == "test"
|
|
37
38
|
Requires-Dist: requests_mock; extra == "test"
|
|
39
|
+
Requires-Dist: multipart; python_version >= "3.13" and extra == "test"
|
|
38
40
|
Provides-Extra: lint
|
|
39
41
|
Requires-Dist: autoflake==2.3.1; python_version >= "3.8" and extra == "lint"
|
|
40
42
|
Requires-Dist: black==24.10.0; python_version >= "3.9" and extra == "lint"
|
|
@@ -22,6 +22,7 @@ classifiers =
|
|
|
22
22
|
Programming Language :: Python :: 3.10
|
|
23
23
|
Programming Language :: Python :: 3.11
|
|
24
24
|
Programming Language :: Python :: 3.12
|
|
25
|
+
Programming Language :: Python :: 3.13
|
|
25
26
|
Programming Language :: Python :: Implementation :: CPython
|
|
26
27
|
Programming Language :: Python :: Implementation :: PyPy
|
|
27
28
|
Topic :: Multimedia :: Graphics
|
|
@@ -32,7 +33,7 @@ packages = find:
|
|
|
32
33
|
install_requires =
|
|
33
34
|
python-socketio[client]>=5.11.0,<6; python_version != '2.7'
|
|
34
35
|
requests>=2.25.1
|
|
35
|
-
Deprecated==1.2.
|
|
36
|
+
Deprecated==1.2.15
|
|
36
37
|
pywin32>=308; sys_platform == 'win32' and python_version != '2.7'
|
|
37
38
|
|
|
38
39
|
[options.packages.find]
|
|
@@ -45,6 +46,7 @@ test =
|
|
|
45
46
|
pytest
|
|
46
47
|
pytest-cov
|
|
47
48
|
requests_mock
|
|
49
|
+
multipart; python_version >= '3.13'
|
|
48
50
|
lint =
|
|
49
51
|
autoflake==2.3.1; python_version >= '3.8'
|
|
50
52
|
black==24.10.0; python_version >= '3.9'
|
gazu-0.10.18/gazu/__version__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.10.18"
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|