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.
Files changed (142) hide show
  1. amapy-core-1.0.0/PKG-INFO +19 -0
  2. amapy-core-1.0.0/README.md +1 -0
  3. amapy-core-1.0.0/amapy_core.egg-info/PKG-INFO +19 -0
  4. amapy-core-1.0.0/amapy_core.egg-info/SOURCES.txt +140 -0
  5. amapy-core-1.0.0/amapy_core.egg-info/dependency_links.txt +1 -0
  6. amapy-core-1.0.0/amapy_core.egg-info/requires.txt +8 -0
  7. amapy-core-1.0.0/amapy_core.egg-info/top_level.txt +1 -0
  8. amapy-core-1.0.0/asset_core/__init__.py +0 -0
  9. amapy-core-1.0.0/asset_core/api/__init__.py +0 -0
  10. amapy-core-1.0.0/asset_core/api/base_api.py +31 -0
  11. amapy-core-1.0.0/asset_core/api/repo_api/__init__.py +141 -0
  12. amapy-core-1.0.0/asset_core/api/repo_api/add.py +470 -0
  13. amapy-core-1.0.0/asset_core/api/repo_api/debug.py +22 -0
  14. amapy-core-1.0.0/asset_core/api/repo_api/diff.py +172 -0
  15. amapy-core-1.0.0/asset_core/api/repo_api/discard.py +150 -0
  16. amapy-core-1.0.0/asset_core/api/repo_api/download.py +84 -0
  17. amapy-core-1.0.0/asset_core/api/repo_api/info.py +384 -0
  18. amapy-core-1.0.0/asset_core/api/repo_api/init.py +120 -0
  19. amapy-core-1.0.0/asset_core/api/repo_api/pull.py +41 -0
  20. amapy-core-1.0.0/asset_core/api/repo_api/remote.py +29 -0
  21. amapy-core-1.0.0/asset_core/api/repo_api/remove.py +101 -0
  22. amapy-core-1.0.0/asset_core/api/repo_api/repo.py +44 -0
  23. amapy-core-1.0.0/asset_core/api/repo_api/report.py +68 -0
  24. amapy-core-1.0.0/asset_core/api/repo_api/status.py +155 -0
  25. amapy-core-1.0.0/asset_core/api/repo_api/switch.py +244 -0
  26. amapy-core-1.0.0/asset_core/api/repo_api/tests/__init__.py +0 -0
  27. amapy-core-1.0.0/asset_core/api/repo_api/tests/test_add.py +27 -0
  28. amapy-core-1.0.0/asset_core/api/repo_api/tests/test_combine.py +11 -0
  29. amapy-core-1.0.0/asset_core/api/repo_api/tests/test_repo.py +15 -0
  30. amapy-core-1.0.0/asset_core/api/repo_api/tests/test_version.py +18 -0
  31. amapy-core-1.0.0/asset_core/api/repo_api/union.py +463 -0
  32. amapy-core-1.0.0/asset_core/api/repo_api/update.py +77 -0
  33. amapy-core-1.0.0/asset_core/api/repo_api/upload.py +59 -0
  34. amapy-core-1.0.0/asset_core/api/repo_api/version.py +248 -0
  35. amapy-core-1.0.0/asset_core/api/settings_api.py +471 -0
  36. amapy-core-1.0.0/asset_core/api/store_api/__init__.py +7 -0
  37. amapy-core-1.0.0/asset_core/api/store_api/class_info.py +66 -0
  38. amapy-core-1.0.0/asset_core/api/store_api/clone_asset.py +479 -0
  39. amapy-core-1.0.0/asset_core/api/store_api/copy.py +415 -0
  40. amapy-core-1.0.0/asset_core/api/store_api/fetch.py +75 -0
  41. amapy-core-1.0.0/asset_core/api/store_api/find.py +231 -0
  42. amapy-core-1.0.0/asset_core/api/store_api/hash_api.py +20 -0
  43. amapy-core-1.0.0/asset_core/api/store_api/list.py +154 -0
  44. amapy-core-1.0.0/asset_core/api/store_api/store.py +17 -0
  45. amapy-core-1.0.0/asset_core/api/store_api/tests/__init__.py +0 -0
  46. amapy-core-1.0.0/asset_core/api/store_api/tests/test_hash.py +20 -0
  47. amapy-core-1.0.0/asset_core/api/templates/__init__.py +0 -0
  48. amapy-core-1.0.0/asset_core/api/templates/base.html +11 -0
  49. amapy-core-1.0.0/asset_core/api/templates/combine_template.html +8 -0
  50. amapy-core-1.0.0/asset_core/api/templates/diff_template.html +58 -0
  51. amapy-core-1.0.0/asset_core/api/templates/report_template.html +163 -0
  52. amapy-core-1.0.0/asset_core/api/tests/__init__.py +0 -0
  53. amapy-core-1.0.0/asset_core/api/tests/e2e_tests/__init__.py +0 -0
  54. amapy-core-1.0.0/asset_core/api/tests/e2e_tests/base_e2e.py +99 -0
  55. amapy-core-1.0.0/asset_core/api/tests/e2e_tests/clone_e2e.py +168 -0
  56. amapy-core-1.0.0/asset_core/api/tests/test_base_api.py +34 -0
  57. amapy-core-1.0.0/asset_core/api/utils.py +24 -0
  58. amapy-core-1.0.0/asset_core/asset/__init__.py +3 -0
  59. amapy-core-1.0.0/asset_core/asset/asset.py +597 -0
  60. amapy-core-1.0.0/asset_core/asset/asset_class.py +177 -0
  61. amapy-core-1.0.0/asset_core/asset/asset_diff.py +403 -0
  62. amapy-core-1.0.0/asset_core/asset/asset_handle.py +160 -0
  63. amapy-core-1.0.0/asset_core/asset/asset_ignore.py +125 -0
  64. amapy-core-1.0.0/asset_core/asset/asset_snapshot.py +171 -0
  65. amapy-core-1.0.0/asset_core/asset/asset_uploader.py +578 -0
  66. amapy-core-1.0.0/asset_core/asset/asset_version.py +303 -0
  67. amapy-core-1.0.0/asset_core/asset/base_asset.py +147 -0
  68. amapy-core-1.0.0/asset_core/asset/fetchers/__init__.py +0 -0
  69. amapy-core-1.0.0/asset_core/asset/fetchers/asset_fetcher.py +478 -0
  70. amapy-core-1.0.0/asset_core/asset/fetchers/fetcher.py +158 -0
  71. amapy-core-1.0.0/asset_core/asset/fetchers/tests/__init__.py +0 -0
  72. amapy-core-1.0.0/asset_core/asset/fetchers/tests/test_asset_fetcher.py +66 -0
  73. amapy-core-1.0.0/asset_core/asset/refs/__init__.py +2 -0
  74. amapy-core-1.0.0/asset_core/asset/refs/asset_ref.py +319 -0
  75. amapy-core-1.0.0/asset_core/asset/refs/asset_ref_set.py +204 -0
  76. amapy-core-1.0.0/asset_core/asset/refs/tests/__init__.py +0 -0
  77. amapy-core-1.0.0/asset_core/asset/refs/tests/test_asset_ref.py +85 -0
  78. amapy-core-1.0.0/asset_core/asset/refs/tests/test_asset_ref_set.py +61 -0
  79. amapy-core-1.0.0/asset_core/asset/serializable.py +26 -0
  80. amapy-core-1.0.0/asset_core/asset/serializable_asset.py +187 -0
  81. amapy-core-1.0.0/asset_core/asset/state.py +25 -0
  82. amapy-core-1.0.0/asset_core/asset/status_enums.py +96 -0
  83. amapy-core-1.0.0/asset_core/asset/tests/__init__.py +0 -0
  84. amapy-core-1.0.0/asset_core/asset/tests/test_asset.py +73 -0
  85. amapy-core-1.0.0/asset_core/asset/tests/test_asset_handle.py +43 -0
  86. amapy-core-1.0.0/asset_core/asset/tests/test_asset_ignore.py +60 -0
  87. amapy-core-1.0.0/asset_core/asset/tests/test_asset_version.py +34 -0
  88. amapy-core-1.0.0/asset_core/asset/tests/test_assets_diff.py +31 -0
  89. amapy-core-1.0.0/asset_core/asset/tests/test_repo.py +57 -0
  90. amapy-core-1.0.0/asset_core/asset/tests/test_status_enums.py +29 -0
  91. amapy-core-1.0.0/asset_core/configs/__init__.py +2 -0
  92. amapy-core-1.0.0/asset_core/configs/app_settings.py +363 -0
  93. amapy-core-1.0.0/asset_core/configs/auth_config.py +76 -0
  94. amapy-core-1.0.0/asset_core/configs/client_configs/__init__.py +3 -0
  95. amapy-core-1.0.0/asset_core/configs/client_configs/asset_config.py +33 -0
  96. amapy-core-1.0.0/asset_core/configs/client_configs/assets_home_config.py +95 -0
  97. amapy-core-1.0.0/asset_core/configs/client_configs/settings_config.py +21 -0
  98. amapy-core-1.0.0/asset_core/configs/config_modes.py +9 -0
  99. amapy-core-1.0.0/asset_core/configs/configs.py +113 -0
  100. amapy-core-1.0.0/asset_core/configs/remote_config.py +35 -0
  101. amapy-core-1.0.0/asset_core/configs/server_config.py +105 -0
  102. amapy-core-1.0.0/asset_core/configs/settings_prop.py +68 -0
  103. amapy-core-1.0.0/asset_core/configs/tests/__init__.py +0 -0
  104. amapy-core-1.0.0/asset_core/configs/tests/test_configs.py +37 -0
  105. amapy-core-1.0.0/asset_core/configs/tests/test_settings.py +22 -0
  106. amapy-core-1.0.0/asset_core/configs/user_settings.py +147 -0
  107. amapy-core-1.0.0/asset_core/objects/__init__.py +2 -0
  108. amapy-core-1.0.0/asset_core/objects/asset_object.py +457 -0
  109. amapy-core-1.0.0/asset_core/objects/group/__init__.py +0 -0
  110. amapy-core-1.0.0/asset_core/objects/group/group_object.py +150 -0
  111. amapy-core-1.0.0/asset_core/objects/group/member_object.py +47 -0
  112. amapy-core-1.0.0/asset_core/objects/group/tests/__init__.py +0 -0
  113. amapy-core-1.0.0/asset_core/objects/group/tests/test_group_object.py +22 -0
  114. amapy-core-1.0.0/asset_core/objects/object.py +71 -0
  115. amapy-core-1.0.0/asset_core/objects/object_factory.py +111 -0
  116. amapy-core-1.0.0/asset_core/objects/object_set.py +233 -0
  117. amapy-core-1.0.0/asset_core/objects/object_source.py +35 -0
  118. amapy-core-1.0.0/asset_core/objects/object_stat.py +19 -0
  119. amapy-core-1.0.0/asset_core/objects/state.py +12 -0
  120. amapy-core-1.0.0/asset_core/objects/tests/__init__.py +0 -0
  121. amapy-core-1.0.0/asset_core/objects/tests/test_asset_object.py +28 -0
  122. amapy-core-1.0.0/asset_core/objects/tests/test_object.py +37 -0
  123. amapy-core-1.0.0/asset_core/objects/tests/test_object_factory.py +121 -0
  124. amapy-core-1.0.0/asset_core/objects/tests/test_object_set.py +25 -0
  125. amapy-core-1.0.0/asset_core/objects/tests/test_object_source.py +8 -0
  126. amapy-core-1.0.0/asset_core/objects/tests/test_object_stat.py +14 -0
  127. amapy-core-1.0.0/asset_core/objects/tests/test_set.py +35 -0
  128. amapy-core-1.0.0/asset_core/plugins.py +17 -0
  129. amapy-core-1.0.0/asset_core/server/__init__.py +2 -0
  130. amapy-core-1.0.0/asset_core/server/asset_server.py +196 -0
  131. amapy-core-1.0.0/asset_core/server/auth_server.py +87 -0
  132. amapy-core-1.0.0/asset_core/server/base_server.py +61 -0
  133. amapy-core-1.0.0/asset_core/server/tests/__init__.py +0 -0
  134. amapy-core-1.0.0/asset_core/server/tests/test_asset_server.py +77 -0
  135. amapy-core-1.0.0/asset_core/store/__init__.py +2 -0
  136. amapy-core-1.0.0/asset_core/store/asset_store.py +296 -0
  137. amapy-core-1.0.0/asset_core/store/repo.py +393 -0
  138. amapy-core-1.0.0/asset_core/store/tests/__init__.py +0 -0
  139. amapy-core-1.0.0/asset_core/store/tests/test_asset_store.py +55 -0
  140. amapy-core-1.0.0/asset_core/store/tests/test_repo.py +29 -0
  141. amapy-core-1.0.0/pyproject.toml +40 -0
  142. 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,8 @@
1
+ amapy-contents==1.*
2
+ amapy-db==1.*
3
+ amapy-pluggy==1.*
4
+ amapy-utils==1.*
5
+ google-auth-oauthlib==0.4.*
6
+ jinja2==3.1.*
7
+ packaging==23.1.*
8
+ pathspec==0.12.*
@@ -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)