amapy-core 1.0.0__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.
- amapy-core-1.0.0/PKG-INFO +19 -0
- amapy-core-1.0.0/README.md +1 -0
- amapy-core-1.0.0/amapy_core.egg-info/PKG-INFO +19 -0
- amapy-core-1.0.0/amapy_core.egg-info/SOURCES.txt +140 -0
- amapy-core-1.0.0/amapy_core.egg-info/dependency_links.txt +1 -0
- amapy-core-1.0.0/amapy_core.egg-info/requires.txt +8 -0
- amapy-core-1.0.0/amapy_core.egg-info/top_level.txt +1 -0
- amapy-core-1.0.0/asset_core/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/base_api.py +31 -0
- amapy-core-1.0.0/asset_core/api/repo_api/__init__.py +141 -0
- amapy-core-1.0.0/asset_core/api/repo_api/add.py +470 -0
- amapy-core-1.0.0/asset_core/api/repo_api/debug.py +22 -0
- amapy-core-1.0.0/asset_core/api/repo_api/diff.py +172 -0
- amapy-core-1.0.0/asset_core/api/repo_api/discard.py +150 -0
- amapy-core-1.0.0/asset_core/api/repo_api/download.py +84 -0
- amapy-core-1.0.0/asset_core/api/repo_api/info.py +384 -0
- amapy-core-1.0.0/asset_core/api/repo_api/init.py +120 -0
- amapy-core-1.0.0/asset_core/api/repo_api/pull.py +41 -0
- amapy-core-1.0.0/asset_core/api/repo_api/remote.py +29 -0
- amapy-core-1.0.0/asset_core/api/repo_api/remove.py +101 -0
- amapy-core-1.0.0/asset_core/api/repo_api/repo.py +44 -0
- amapy-core-1.0.0/asset_core/api/repo_api/report.py +68 -0
- amapy-core-1.0.0/asset_core/api/repo_api/status.py +155 -0
- amapy-core-1.0.0/asset_core/api/repo_api/switch.py +244 -0
- amapy-core-1.0.0/asset_core/api/repo_api/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/repo_api/tests/test_add.py +27 -0
- amapy-core-1.0.0/asset_core/api/repo_api/tests/test_combine.py +11 -0
- amapy-core-1.0.0/asset_core/api/repo_api/tests/test_repo.py +15 -0
- amapy-core-1.0.0/asset_core/api/repo_api/tests/test_version.py +18 -0
- amapy-core-1.0.0/asset_core/api/repo_api/union.py +463 -0
- amapy-core-1.0.0/asset_core/api/repo_api/update.py +77 -0
- amapy-core-1.0.0/asset_core/api/repo_api/upload.py +59 -0
- amapy-core-1.0.0/asset_core/api/repo_api/version.py +248 -0
- amapy-core-1.0.0/asset_core/api/settings_api.py +471 -0
- amapy-core-1.0.0/asset_core/api/store_api/__init__.py +7 -0
- amapy-core-1.0.0/asset_core/api/store_api/class_info.py +66 -0
- amapy-core-1.0.0/asset_core/api/store_api/clone_asset.py +479 -0
- amapy-core-1.0.0/asset_core/api/store_api/copy.py +415 -0
- amapy-core-1.0.0/asset_core/api/store_api/fetch.py +75 -0
- amapy-core-1.0.0/asset_core/api/store_api/find.py +231 -0
- amapy-core-1.0.0/asset_core/api/store_api/hash_api.py +20 -0
- amapy-core-1.0.0/asset_core/api/store_api/list.py +154 -0
- amapy-core-1.0.0/asset_core/api/store_api/store.py +17 -0
- amapy-core-1.0.0/asset_core/api/store_api/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/store_api/tests/test_hash.py +20 -0
- amapy-core-1.0.0/asset_core/api/templates/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/templates/base.html +11 -0
- amapy-core-1.0.0/asset_core/api/templates/combine_template.html +8 -0
- amapy-core-1.0.0/asset_core/api/templates/diff_template.html +58 -0
- amapy-core-1.0.0/asset_core/api/templates/report_template.html +163 -0
- amapy-core-1.0.0/asset_core/api/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/tests/e2e_tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/api/tests/e2e_tests/base_e2e.py +99 -0
- amapy-core-1.0.0/asset_core/api/tests/e2e_tests/clone_e2e.py +168 -0
- amapy-core-1.0.0/asset_core/api/tests/test_base_api.py +34 -0
- amapy-core-1.0.0/asset_core/api/utils.py +24 -0
- amapy-core-1.0.0/asset_core/asset/__init__.py +3 -0
- amapy-core-1.0.0/asset_core/asset/asset.py +597 -0
- amapy-core-1.0.0/asset_core/asset/asset_class.py +177 -0
- amapy-core-1.0.0/asset_core/asset/asset_diff.py +403 -0
- amapy-core-1.0.0/asset_core/asset/asset_handle.py +160 -0
- amapy-core-1.0.0/asset_core/asset/asset_ignore.py +125 -0
- amapy-core-1.0.0/asset_core/asset/asset_snapshot.py +171 -0
- amapy-core-1.0.0/asset_core/asset/asset_uploader.py +578 -0
- amapy-core-1.0.0/asset_core/asset/asset_version.py +303 -0
- amapy-core-1.0.0/asset_core/asset/base_asset.py +147 -0
- amapy-core-1.0.0/asset_core/asset/fetchers/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/asset/fetchers/asset_fetcher.py +478 -0
- amapy-core-1.0.0/asset_core/asset/fetchers/fetcher.py +158 -0
- amapy-core-1.0.0/asset_core/asset/fetchers/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/asset/fetchers/tests/test_asset_fetcher.py +66 -0
- amapy-core-1.0.0/asset_core/asset/refs/__init__.py +2 -0
- amapy-core-1.0.0/asset_core/asset/refs/asset_ref.py +319 -0
- amapy-core-1.0.0/asset_core/asset/refs/asset_ref_set.py +204 -0
- amapy-core-1.0.0/asset_core/asset/refs/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/asset/refs/tests/test_asset_ref.py +85 -0
- amapy-core-1.0.0/asset_core/asset/refs/tests/test_asset_ref_set.py +61 -0
- amapy-core-1.0.0/asset_core/asset/serializable.py +26 -0
- amapy-core-1.0.0/asset_core/asset/serializable_asset.py +187 -0
- amapy-core-1.0.0/asset_core/asset/state.py +25 -0
- amapy-core-1.0.0/asset_core/asset/status_enums.py +96 -0
- amapy-core-1.0.0/asset_core/asset/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_asset.py +73 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_asset_handle.py +43 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_asset_ignore.py +60 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_asset_version.py +34 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_assets_diff.py +31 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_repo.py +57 -0
- amapy-core-1.0.0/asset_core/asset/tests/test_status_enums.py +29 -0
- amapy-core-1.0.0/asset_core/configs/__init__.py +2 -0
- amapy-core-1.0.0/asset_core/configs/app_settings.py +363 -0
- amapy-core-1.0.0/asset_core/configs/auth_config.py +76 -0
- amapy-core-1.0.0/asset_core/configs/client_configs/__init__.py +3 -0
- amapy-core-1.0.0/asset_core/configs/client_configs/asset_config.py +33 -0
- amapy-core-1.0.0/asset_core/configs/client_configs/assets_home_config.py +95 -0
- amapy-core-1.0.0/asset_core/configs/client_configs/settings_config.py +21 -0
- amapy-core-1.0.0/asset_core/configs/config_modes.py +9 -0
- amapy-core-1.0.0/asset_core/configs/configs.py +113 -0
- amapy-core-1.0.0/asset_core/configs/remote_config.py +35 -0
- amapy-core-1.0.0/asset_core/configs/server_config.py +105 -0
- amapy-core-1.0.0/asset_core/configs/settings_prop.py +68 -0
- amapy-core-1.0.0/asset_core/configs/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/configs/tests/test_configs.py +37 -0
- amapy-core-1.0.0/asset_core/configs/tests/test_settings.py +22 -0
- amapy-core-1.0.0/asset_core/configs/user_settings.py +147 -0
- amapy-core-1.0.0/asset_core/objects/__init__.py +2 -0
- amapy-core-1.0.0/asset_core/objects/asset_object.py +457 -0
- amapy-core-1.0.0/asset_core/objects/group/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/objects/group/group_object.py +150 -0
- amapy-core-1.0.0/asset_core/objects/group/member_object.py +47 -0
- amapy-core-1.0.0/asset_core/objects/group/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/objects/group/tests/test_group_object.py +22 -0
- amapy-core-1.0.0/asset_core/objects/object.py +71 -0
- amapy-core-1.0.0/asset_core/objects/object_factory.py +111 -0
- amapy-core-1.0.0/asset_core/objects/object_set.py +233 -0
- amapy-core-1.0.0/asset_core/objects/object_source.py +35 -0
- amapy-core-1.0.0/asset_core/objects/object_stat.py +19 -0
- amapy-core-1.0.0/asset_core/objects/state.py +12 -0
- amapy-core-1.0.0/asset_core/objects/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_asset_object.py +28 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_object.py +37 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_object_factory.py +121 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_object_set.py +25 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_object_source.py +8 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_object_stat.py +14 -0
- amapy-core-1.0.0/asset_core/objects/tests/test_set.py +35 -0
- amapy-core-1.0.0/asset_core/plugins.py +17 -0
- amapy-core-1.0.0/asset_core/server/__init__.py +2 -0
- amapy-core-1.0.0/asset_core/server/asset_server.py +196 -0
- amapy-core-1.0.0/asset_core/server/auth_server.py +87 -0
- amapy-core-1.0.0/asset_core/server/base_server.py +61 -0
- amapy-core-1.0.0/asset_core/server/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/server/tests/test_asset_server.py +77 -0
- amapy-core-1.0.0/asset_core/store/__init__.py +2 -0
- amapy-core-1.0.0/asset_core/store/asset_store.py +296 -0
- amapy-core-1.0.0/asset_core/store/repo.py +393 -0
- amapy-core-1.0.0/asset_core/store/tests/__init__.py +0 -0
- amapy-core-1.0.0/asset_core/store/tests/test_asset_store.py +55 -0
- amapy-core-1.0.0/asset_core/store/tests/test_repo.py +29 -0
- amapy-core-1.0.0/pyproject.toml +40 -0
- amapy-core-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: amapy-core
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: The Core package for asset-manager. It provides the core functionalities like creating, midifying, downloading and uploading of the digital assets.
|
|
5
|
+
Author-email: Swarup Mahanti <swarup.mahanti@roche.com>
|
|
6
|
+
Maintainer-email: Swarup Mahanti <swarup.mahanti@roche.com>
|
|
7
|
+
License: Copyright (c) 2024 Roche Diagnostics Computation Science & Informatics
|
|
8
|
+
Requires-Python: <3.11,>=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: amapy-contents==1.*
|
|
11
|
+
Requires-Dist: amapy-db==1.*
|
|
12
|
+
Requires-Dist: amapy-pluggy==1.*
|
|
13
|
+
Requires-Dist: amapy-utils==1.*
|
|
14
|
+
Requires-Dist: google-auth-oauthlib==0.4.*
|
|
15
|
+
Requires-Dist: jinja2==3.1.*
|
|
16
|
+
Requires-Dist: packaging==23.1.*
|
|
17
|
+
Requires-Dist: pathspec==0.12.*
|
|
18
|
+
|
|
19
|
+
# gdm_asset_manager
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# gdm_asset_manager
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: amapy-core
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: The Core package for asset-manager. It provides the core functionalities like creating, midifying, downloading and uploading of the digital assets.
|
|
5
|
+
Author-email: Swarup Mahanti <swarup.mahanti@roche.com>
|
|
6
|
+
Maintainer-email: Swarup Mahanti <swarup.mahanti@roche.com>
|
|
7
|
+
License: Copyright (c) 2024 Roche Diagnostics Computation Science & Informatics
|
|
8
|
+
Requires-Python: <3.11,>=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: amapy-contents==1.*
|
|
11
|
+
Requires-Dist: amapy-db==1.*
|
|
12
|
+
Requires-Dist: amapy-pluggy==1.*
|
|
13
|
+
Requires-Dist: amapy-utils==1.*
|
|
14
|
+
Requires-Dist: google-auth-oauthlib==0.4.*
|
|
15
|
+
Requires-Dist: jinja2==3.1.*
|
|
16
|
+
Requires-Dist: packaging==23.1.*
|
|
17
|
+
Requires-Dist: pathspec==0.12.*
|
|
18
|
+
|
|
19
|
+
# gdm_asset_manager
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
amapy_core.egg-info/PKG-INFO
|
|
4
|
+
amapy_core.egg-info/SOURCES.txt
|
|
5
|
+
amapy_core.egg-info/dependency_links.txt
|
|
6
|
+
amapy_core.egg-info/requires.txt
|
|
7
|
+
amapy_core.egg-info/top_level.txt
|
|
8
|
+
asset_core/__init__.py
|
|
9
|
+
asset_core/plugins.py
|
|
10
|
+
asset_core/api/__init__.py
|
|
11
|
+
asset_core/api/base_api.py
|
|
12
|
+
asset_core/api/settings_api.py
|
|
13
|
+
asset_core/api/utils.py
|
|
14
|
+
asset_core/api/repo_api/__init__.py
|
|
15
|
+
asset_core/api/repo_api/add.py
|
|
16
|
+
asset_core/api/repo_api/debug.py
|
|
17
|
+
asset_core/api/repo_api/diff.py
|
|
18
|
+
asset_core/api/repo_api/discard.py
|
|
19
|
+
asset_core/api/repo_api/download.py
|
|
20
|
+
asset_core/api/repo_api/info.py
|
|
21
|
+
asset_core/api/repo_api/init.py
|
|
22
|
+
asset_core/api/repo_api/pull.py
|
|
23
|
+
asset_core/api/repo_api/remote.py
|
|
24
|
+
asset_core/api/repo_api/remove.py
|
|
25
|
+
asset_core/api/repo_api/repo.py
|
|
26
|
+
asset_core/api/repo_api/report.py
|
|
27
|
+
asset_core/api/repo_api/status.py
|
|
28
|
+
asset_core/api/repo_api/switch.py
|
|
29
|
+
asset_core/api/repo_api/union.py
|
|
30
|
+
asset_core/api/repo_api/update.py
|
|
31
|
+
asset_core/api/repo_api/upload.py
|
|
32
|
+
asset_core/api/repo_api/version.py
|
|
33
|
+
asset_core/api/repo_api/tests/__init__.py
|
|
34
|
+
asset_core/api/repo_api/tests/test_add.py
|
|
35
|
+
asset_core/api/repo_api/tests/test_combine.py
|
|
36
|
+
asset_core/api/repo_api/tests/test_repo.py
|
|
37
|
+
asset_core/api/repo_api/tests/test_version.py
|
|
38
|
+
asset_core/api/store_api/__init__.py
|
|
39
|
+
asset_core/api/store_api/class_info.py
|
|
40
|
+
asset_core/api/store_api/clone_asset.py
|
|
41
|
+
asset_core/api/store_api/copy.py
|
|
42
|
+
asset_core/api/store_api/fetch.py
|
|
43
|
+
asset_core/api/store_api/find.py
|
|
44
|
+
asset_core/api/store_api/hash_api.py
|
|
45
|
+
asset_core/api/store_api/list.py
|
|
46
|
+
asset_core/api/store_api/store.py
|
|
47
|
+
asset_core/api/store_api/tests/__init__.py
|
|
48
|
+
asset_core/api/store_api/tests/test_hash.py
|
|
49
|
+
asset_core/api/templates/__init__.py
|
|
50
|
+
asset_core/api/templates/base.html
|
|
51
|
+
asset_core/api/templates/combine_template.html
|
|
52
|
+
asset_core/api/templates/diff_template.html
|
|
53
|
+
asset_core/api/templates/report_template.html
|
|
54
|
+
asset_core/api/tests/__init__.py
|
|
55
|
+
asset_core/api/tests/test_base_api.py
|
|
56
|
+
asset_core/api/tests/e2e_tests/__init__.py
|
|
57
|
+
asset_core/api/tests/e2e_tests/base_e2e.py
|
|
58
|
+
asset_core/api/tests/e2e_tests/clone_e2e.py
|
|
59
|
+
asset_core/asset/__init__.py
|
|
60
|
+
asset_core/asset/asset.py
|
|
61
|
+
asset_core/asset/asset_class.py
|
|
62
|
+
asset_core/asset/asset_diff.py
|
|
63
|
+
asset_core/asset/asset_handle.py
|
|
64
|
+
asset_core/asset/asset_ignore.py
|
|
65
|
+
asset_core/asset/asset_snapshot.py
|
|
66
|
+
asset_core/asset/asset_uploader.py
|
|
67
|
+
asset_core/asset/asset_version.py
|
|
68
|
+
asset_core/asset/base_asset.py
|
|
69
|
+
asset_core/asset/serializable.py
|
|
70
|
+
asset_core/asset/serializable_asset.py
|
|
71
|
+
asset_core/asset/state.py
|
|
72
|
+
asset_core/asset/status_enums.py
|
|
73
|
+
asset_core/asset/fetchers/__init__.py
|
|
74
|
+
asset_core/asset/fetchers/asset_fetcher.py
|
|
75
|
+
asset_core/asset/fetchers/fetcher.py
|
|
76
|
+
asset_core/asset/fetchers/tests/__init__.py
|
|
77
|
+
asset_core/asset/fetchers/tests/test_asset_fetcher.py
|
|
78
|
+
asset_core/asset/refs/__init__.py
|
|
79
|
+
asset_core/asset/refs/asset_ref.py
|
|
80
|
+
asset_core/asset/refs/asset_ref_set.py
|
|
81
|
+
asset_core/asset/refs/tests/__init__.py
|
|
82
|
+
asset_core/asset/refs/tests/test_asset_ref.py
|
|
83
|
+
asset_core/asset/refs/tests/test_asset_ref_set.py
|
|
84
|
+
asset_core/asset/tests/__init__.py
|
|
85
|
+
asset_core/asset/tests/test_asset.py
|
|
86
|
+
asset_core/asset/tests/test_asset_handle.py
|
|
87
|
+
asset_core/asset/tests/test_asset_ignore.py
|
|
88
|
+
asset_core/asset/tests/test_asset_version.py
|
|
89
|
+
asset_core/asset/tests/test_assets_diff.py
|
|
90
|
+
asset_core/asset/tests/test_repo.py
|
|
91
|
+
asset_core/asset/tests/test_status_enums.py
|
|
92
|
+
asset_core/configs/__init__.py
|
|
93
|
+
asset_core/configs/app_settings.py
|
|
94
|
+
asset_core/configs/auth_config.py
|
|
95
|
+
asset_core/configs/config_modes.py
|
|
96
|
+
asset_core/configs/configs.py
|
|
97
|
+
asset_core/configs/remote_config.py
|
|
98
|
+
asset_core/configs/server_config.py
|
|
99
|
+
asset_core/configs/settings_prop.py
|
|
100
|
+
asset_core/configs/user_settings.py
|
|
101
|
+
asset_core/configs/client_configs/__init__.py
|
|
102
|
+
asset_core/configs/client_configs/asset_config.py
|
|
103
|
+
asset_core/configs/client_configs/assets_home_config.py
|
|
104
|
+
asset_core/configs/client_configs/settings_config.py
|
|
105
|
+
asset_core/configs/tests/__init__.py
|
|
106
|
+
asset_core/configs/tests/test_configs.py
|
|
107
|
+
asset_core/configs/tests/test_settings.py
|
|
108
|
+
asset_core/objects/__init__.py
|
|
109
|
+
asset_core/objects/asset_object.py
|
|
110
|
+
asset_core/objects/object.py
|
|
111
|
+
asset_core/objects/object_factory.py
|
|
112
|
+
asset_core/objects/object_set.py
|
|
113
|
+
asset_core/objects/object_source.py
|
|
114
|
+
asset_core/objects/object_stat.py
|
|
115
|
+
asset_core/objects/state.py
|
|
116
|
+
asset_core/objects/group/__init__.py
|
|
117
|
+
asset_core/objects/group/group_object.py
|
|
118
|
+
asset_core/objects/group/member_object.py
|
|
119
|
+
asset_core/objects/group/tests/__init__.py
|
|
120
|
+
asset_core/objects/group/tests/test_group_object.py
|
|
121
|
+
asset_core/objects/tests/__init__.py
|
|
122
|
+
asset_core/objects/tests/test_asset_object.py
|
|
123
|
+
asset_core/objects/tests/test_object.py
|
|
124
|
+
asset_core/objects/tests/test_object_factory.py
|
|
125
|
+
asset_core/objects/tests/test_object_set.py
|
|
126
|
+
asset_core/objects/tests/test_object_source.py
|
|
127
|
+
asset_core/objects/tests/test_object_stat.py
|
|
128
|
+
asset_core/objects/tests/test_set.py
|
|
129
|
+
asset_core/server/__init__.py
|
|
130
|
+
asset_core/server/asset_server.py
|
|
131
|
+
asset_core/server/auth_server.py
|
|
132
|
+
asset_core/server/base_server.py
|
|
133
|
+
asset_core/server/tests/__init__.py
|
|
134
|
+
asset_core/server/tests/test_asset_server.py
|
|
135
|
+
asset_core/store/__init__.py
|
|
136
|
+
asset_core/store/asset_store.py
|
|
137
|
+
asset_core/store/repo.py
|
|
138
|
+
asset_core/store/tests/__init__.py
|
|
139
|
+
asset_core/store/tests/test_asset_store.py
|
|
140
|
+
asset_core/store/tests/test_repo.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
asset_core
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import abc
|
|
2
|
+
import contextlib
|
|
3
|
+
|
|
4
|
+
from asset_core.store import AssetStore
|
|
5
|
+
from asset_utils.utils.log_utils import LoggingMixin
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class BaseAPI(LoggingMixin):
|
|
9
|
+
|
|
10
|
+
def __init__(self, store=None):
|
|
11
|
+
# create a new store if not exists
|
|
12
|
+
self.store = store or AssetStore.shared(create_if_not_exists=True)
|
|
13
|
+
|
|
14
|
+
@contextlib.contextmanager
|
|
15
|
+
def environment(self):
|
|
16
|
+
try:
|
|
17
|
+
self.set_environment()
|
|
18
|
+
yield
|
|
19
|
+
except Exception:
|
|
20
|
+
raise
|
|
21
|
+
finally:
|
|
22
|
+
# need to unset the environment even if an exception is raised
|
|
23
|
+
self.unset_environment()
|
|
24
|
+
|
|
25
|
+
@abc.abstractmethod
|
|
26
|
+
def set_environment(self):
|
|
27
|
+
raise NotImplementedError
|
|
28
|
+
|
|
29
|
+
@abc.abstractmethod
|
|
30
|
+
def unset_environment(self):
|
|
31
|
+
raise NotImplementedError
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
from asset_utils.common.user_commands import UserCommands
|
|
2
|
+
from asset_utils.utils.log_utils import LoggingMixin, LogColors, colored_string
|
|
3
|
+
from .add import AddAPI
|
|
4
|
+
from .debug import DebugAPI
|
|
5
|
+
from .diff import DiffApi
|
|
6
|
+
from .discard import DiscardAPI
|
|
7
|
+
from .download import DownloadAPI
|
|
8
|
+
from .info import InfoAPI
|
|
9
|
+
from .init import InitAssetAPI
|
|
10
|
+
from .remote import RemoteAPI
|
|
11
|
+
from .remove import RemoveAPI
|
|
12
|
+
from .report import ReportAPI
|
|
13
|
+
from .status import StatusAPI
|
|
14
|
+
from .switch import SwitchAssetAPI
|
|
15
|
+
from .union import UnionApi
|
|
16
|
+
from .update import UpdateAPI
|
|
17
|
+
from .upload import UploadAPI
|
|
18
|
+
from .version import VersionAPI
|
|
19
|
+
from asset_core.asset import Asset
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class AssetAPI(LoggingMixin):
|
|
23
|
+
repo = None
|
|
24
|
+
|
|
25
|
+
def __init__(self, repo):
|
|
26
|
+
self.repo = repo
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def add(self) -> AddAPI:
|
|
30
|
+
if not self.repo.current_asset:
|
|
31
|
+
self.asset_missing()
|
|
32
|
+
return None
|
|
33
|
+
return AddAPI(repo=self.repo)
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def upload(self):
|
|
37
|
+
if not self.repo.current_asset:
|
|
38
|
+
self.asset_missing()
|
|
39
|
+
return None
|
|
40
|
+
return UploadAPI(repo=self.repo)
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def download(self):
|
|
44
|
+
if not self.repo.current_asset:
|
|
45
|
+
self.asset_missing()
|
|
46
|
+
return None
|
|
47
|
+
return DownloadAPI(self.repo)
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def remove(self):
|
|
51
|
+
if not self.repo.current_asset:
|
|
52
|
+
self.asset_missing()
|
|
53
|
+
return None
|
|
54
|
+
return RemoveAPI(self.repo)
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def remote(self):
|
|
58
|
+
if not self.repo.current_asset:
|
|
59
|
+
self.asset_missing()
|
|
60
|
+
return None
|
|
61
|
+
return RemoteAPI(self.repo)
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def version(self):
|
|
65
|
+
if not self.repo.current_asset:
|
|
66
|
+
self.asset_missing()
|
|
67
|
+
return None
|
|
68
|
+
return VersionAPI(self.repo)
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def status(self):
|
|
72
|
+
if not self.repo.current_asset:
|
|
73
|
+
self.asset_missing()
|
|
74
|
+
return None
|
|
75
|
+
return StatusAPI(self.repo)
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def info(self):
|
|
79
|
+
if not self.repo.current_asset:
|
|
80
|
+
self.asset_missing()
|
|
81
|
+
return None
|
|
82
|
+
return InfoAPI(self.repo)
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def report(self):
|
|
86
|
+
if not self.repo.current_asset:
|
|
87
|
+
self.asset_missing()
|
|
88
|
+
return None
|
|
89
|
+
return ReportAPI(self.repo)
|
|
90
|
+
|
|
91
|
+
@property
|
|
92
|
+
def discard(self):
|
|
93
|
+
if not self.repo.current_asset:
|
|
94
|
+
self.asset_missing()
|
|
95
|
+
return None
|
|
96
|
+
return DiscardAPI(self.repo)
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
def update(self):
|
|
100
|
+
if not self.repo.current_asset:
|
|
101
|
+
self.asset_missing()
|
|
102
|
+
return None
|
|
103
|
+
return UpdateAPI(self.repo)
|
|
104
|
+
|
|
105
|
+
@property
|
|
106
|
+
def switch(self):
|
|
107
|
+
if not self.repo.current_asset:
|
|
108
|
+
self.asset_missing()
|
|
109
|
+
return None
|
|
110
|
+
return SwitchAssetAPI(self.repo)
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
def diff(self) -> DiffApi:
|
|
114
|
+
if not self.repo.current_asset:
|
|
115
|
+
self.asset_missing()
|
|
116
|
+
return None
|
|
117
|
+
return DiffApi(self.repo)
|
|
118
|
+
|
|
119
|
+
@property
|
|
120
|
+
def union(self) -> UnionApi:
|
|
121
|
+
if not self.repo.current_asset:
|
|
122
|
+
self.asset_missing()
|
|
123
|
+
return None
|
|
124
|
+
return UnionApi(self.repo)
|
|
125
|
+
|
|
126
|
+
@property
|
|
127
|
+
def debug(self) -> DebugAPI:
|
|
128
|
+
if not self.repo.current_asset:
|
|
129
|
+
self.asset_missing()
|
|
130
|
+
return None
|
|
131
|
+
return DebugAPI(self.repo)
|
|
132
|
+
|
|
133
|
+
@property
|
|
134
|
+
def init(self):
|
|
135
|
+
return InitAssetAPI(repo=None)
|
|
136
|
+
|
|
137
|
+
def asset_missing(self):
|
|
138
|
+
message = colored_string("asset not found\n", LogColors.ERROR)
|
|
139
|
+
message += f"{UserCommands().create_asset()}\n"
|
|
140
|
+
message += f"{UserCommands().clone_asset()}\n"
|
|
141
|
+
self.user_log.message(message)
|