bluer-objects 6.100.1__tar.gz → 6.104.1__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.

Potentially problematic release.


This version of bluer-objects might be problematic. Click here for more details.

Files changed (151) hide show
  1. {bluer_objects-6.100.1/bluer_objects.egg-info → bluer_objects-6.104.1}/PKG-INFO +2 -2
  2. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/README.md +1 -1
  3. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage/clear.sh +9 -0
  4. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/__init__.py +1 -1
  5. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/storage/WebDAVzip.py +35 -0
  6. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/storage/__init__.py +8 -0
  7. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/storage/__main__.py +12 -2
  8. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/storage/base.py +6 -0
  9. {bluer_objects-6.100.1 → bluer_objects-6.104.1/bluer_objects.egg-info}/PKG-INFO +2 -2
  10. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/LICENSE +0 -0
  11. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/MANIFEST.in +0 -0
  12. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/abcli.sh +0 -0
  13. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/actions.sh +0 -0
  14. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/aka.sh +0 -0
  15. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/alias.sh +0 -0
  16. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/bluer_objects.sh +0 -0
  17. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/clone.sh +0 -0
  18. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/download.sh +0 -0
  19. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/file.sh +0 -0
  20. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/gif.sh +0 -0
  21. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/host.sh +0 -0
  22. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/ls.sh +0 -0
  23. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/metadata/get.sh +0 -0
  24. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/metadata/post.sh +0 -0
  25. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/metadata.sh +0 -0
  26. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/browse.sh +0 -0
  27. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/cache.sh +0 -0
  28. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/deploy.sh +0 -0
  29. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/list_registered_models.sh +0 -0
  30. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/log_artifacts.sh +0 -0
  31. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/log_run.sh +0 -0
  32. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/run.sh +0 -0
  33. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/tags/clone.sh +0 -0
  34. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/tags/get.sh +0 -0
  35. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/tags/search.sh +0 -0
  36. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/tags/set.sh +0 -0
  37. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/tags.sh +0 -0
  38. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/test.sh +0 -0
  39. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow/transition.sh +0 -0
  40. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/mlflow.sh +0 -0
  41. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/object.sh +0 -0
  42. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/select.sh +0 -0
  43. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage/download_file.sh +0 -0
  44. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage/exists.sh +0 -0
  45. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage/list.sh +0 -0
  46. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage/rm.sh +0 -0
  47. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage/status.sh +0 -0
  48. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/storage.sh +0 -0
  49. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/README.sh +0 -0
  50. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/clone.sh +0 -0
  51. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/gif.sh +0 -0
  52. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/help.sh +0 -0
  53. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/host.sh +0 -0
  54. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/ls.sh +0 -0
  55. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/metadata.sh +0 -0
  56. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/mlflow_cache.sh +0 -0
  57. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/mlflow_logging.sh +0 -0
  58. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/mlflow_tags.sh +0 -0
  59. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/mlflow_test.sh +0 -0
  60. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/storage.sh +0 -0
  61. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/tests/version.sh +0 -0
  62. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/.abcli/upload.sh +0 -0
  63. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/README/__init__.py +0 -0
  64. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/README/functions.py +0 -0
  65. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/README/items.py +0 -0
  66. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/__main__.py +0 -0
  67. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/config.env +0 -0
  68. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/env.py +0 -0
  69. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/file/__init__.py +0 -0
  70. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/file/__main__.py +0 -0
  71. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/file/classes.py +0 -0
  72. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/file/functions.py +0 -0
  73. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/file/load.py +0 -0
  74. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/file/save.py +0 -0
  75. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/__init__.py +0 -0
  76. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/__main__.py +0 -0
  77. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/frame.py +0 -0
  78. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/gif.py +0 -0
  79. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/screen.py +0 -0
  80. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/signature.py +0 -0
  81. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/graphics/text.py +0 -0
  82. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/__init__.py +0 -0
  83. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/__main__.py +0 -0
  84. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/clone.py +0 -0
  85. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/download.py +0 -0
  86. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/functions.py +0 -0
  87. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/gif.py +0 -0
  88. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/host.py +0 -0
  89. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/ls.py +0 -0
  90. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/metadata.py +0 -0
  91. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/mlflow/__init__.py +0 -0
  92. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/mlflow/cache.py +0 -0
  93. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/mlflow/tags.py +0 -0
  94. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/help/upload.py +0 -0
  95. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/host/__init__.py +0 -0
  96. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/host/__main__.py +0 -0
  97. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/host/functions.py +0 -0
  98. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/logger/__init__.py +0 -0
  99. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/logger/matrix.py +0 -0
  100. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/markdown.py +0 -0
  101. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/metadata/__init__.py +0 -0
  102. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/metadata/__main__.py +0 -0
  103. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/metadata/enums.py +0 -0
  104. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/metadata/get.py +0 -0
  105. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/metadata/post.py +0 -0
  106. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/__init__.py +0 -0
  107. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/__main__.py +0 -0
  108. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/cache.py +0 -0
  109. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/logging.py +0 -0
  110. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/models.py +0 -0
  111. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/objects.py +0 -0
  112. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/runs.py +0 -0
  113. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/tags.py +0 -0
  114. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/mlflow/testing.py +0 -0
  115. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/objects.py +0 -0
  116. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/path.py +0 -0
  117. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/sample.env +0 -0
  118. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/storage/WebDAV.py +0 -0
  119. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/testing/__init__.py +0 -0
  120. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/testing/__main__.py +0 -0
  121. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/testing/functions.py +0 -0
  122. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/__init__.py +0 -0
  123. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_README.py +0 -0
  124. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_env.py +0 -0
  125. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_file_load_save.py +0 -0
  126. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_fullname.py +0 -0
  127. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_graphics.py +0 -0
  128. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_graphics_frame.py +0 -0
  129. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_graphics_gif.py +0 -0
  130. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_graphics_screen.py +0 -0
  131. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_graphics_signature.py +0 -0
  132. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_graphics_text.py +0 -0
  133. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_logger.py +0 -0
  134. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_logger_matrix.py +0 -0
  135. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_markdown.py +0 -0
  136. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_metadata.py +0 -0
  137. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_mlflow.py +0 -0
  138. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_objects.py +0 -0
  139. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_path.py +0 -0
  140. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_storage.py +0 -0
  141. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_testing.py +0 -0
  142. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/tests/test_version.py +0 -0
  143. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects/urls.py +0 -0
  144. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects.egg-info/SOURCES.txt +0 -0
  145. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects.egg-info/dependency_links.txt +0 -0
  146. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects.egg-info/requires.txt +0 -0
  147. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/bluer_objects.egg-info/top_level.txt +0 -0
  148. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/pyproject.toml +0 -0
  149. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/requirements.txt +0 -0
  150. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/setup.cfg +0 -0
  151. {bluer_objects-6.100.1 → bluer_objects-6.104.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.100.1
3
+ Version: 6.104.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -63,6 +63,6 @@ pip install bluer-objects
63
63
 
64
64
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
65
65
 
66
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.100.1`](https://github.com/kamangir/bluer-objects).
66
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.104.1`](https://github.com/kamangir/bluer-objects).
67
67
 
68
68
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -30,4 +30,4 @@ pip install bluer-objects
30
30
 
31
31
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
32
32
 
33
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.100.1`](https://github.com/kamangir/bluer-objects).
33
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.104.1`](https://github.com/kamangir/bluer-objects).
@@ -2,8 +2,17 @@
2
2
 
3
3
  function bluer_ai_storage_clear() {
4
4
  local options=$1
5
+ local do_cloud=$(bluer_ai_option_int "$options" cloud 0)
5
6
  local do_dryrun=$(bluer_ai_option_int "$options" dryrun 1)
6
7
 
8
+ if [[ "$do_cloud" == 1 ]]; then
9
+ python3 -m bluer_objects.storage \
10
+ clear \
11
+ --do_dryrun $do_dryrun \
12
+ "${@:2}"
13
+ return
14
+ fi
15
+
7
16
  if [[ "$abcli_is_rpi" == true ]]; then
8
17
  bluer_ai_eval dryrun=$do_dryrun \
9
18
  rm -rfv $ABCLI_OBJECT_ROOT
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} Object management in Bash."
6
6
 
7
- VERSION = "6.100.1"
7
+ VERSION = "6.104.1"
8
8
 
9
9
  REPO_NAME = "bluer-objects"
10
10
 
@@ -2,6 +2,7 @@ import glob
2
2
  import os
3
3
  from typing import Tuple, List
4
4
  from webdav3.client import Client
5
+ from tqdm import tqdm
5
6
 
6
7
  from bluer_objects.storage.base import StorageInterface
7
8
  from bluer_objects import env, file, path
@@ -25,6 +26,40 @@ class WebDAVzipInterface(StorageInterface):
25
26
 
26
27
  self.client = Client(config)
27
28
 
29
+ def clear(
30
+ self,
31
+ do_dryrun: bool = True,
32
+ ) -> bool:
33
+ logger.info(
34
+ "{}.clear({})".format(
35
+ self.__class__.__name__,
36
+ "dryrun" if do_dryrun else "",
37
+ )
38
+ )
39
+
40
+ count: int = 0
41
+ for thing in tqdm(self.client.list()):
42
+ if not thing.endswith(".zip"):
43
+ continue
44
+ if not thing.startswith("test"):
45
+ continue
46
+
47
+ logger.info(thing)
48
+ if do_dryrun:
49
+ continue
50
+
51
+ try:
52
+ self.client.clean(remote_path=thing)
53
+ except Exception as e:
54
+ logger.error(e)
55
+ return False
56
+
57
+ count += 1
58
+
59
+ logger.info(f"deleted {count} object(s).")
60
+
61
+ return True
62
+
28
63
  def download(
29
64
  self,
30
65
  object_name: str,
@@ -17,6 +17,14 @@ else:
17
17
  assert False
18
18
 
19
19
 
20
+ def clear(
21
+ do_dryrun: bool = True,
22
+ ) -> bool:
23
+ return interface.clear(
24
+ do_dryrun=do_dryrun,
25
+ )
26
+
27
+
20
28
  def download(
21
29
  object_name: str,
22
30
  filename: str = "",
@@ -13,7 +13,7 @@ parser = argparse.ArgumentParser(NAME)
13
13
  parser.add_argument(
14
14
  "task",
15
15
  type=str,
16
- help="download | ls | upload",
16
+ help="clear | download | ls | upload",
17
17
  )
18
18
  parser.add_argument(
19
19
  "--object_name",
@@ -41,12 +41,22 @@ parser.add_argument(
41
41
  type=str,
42
42
  default=",",
43
43
  )
44
+ parser.add_argument(
45
+ "--do_dryrun",
46
+ type=int,
47
+ default=1,
48
+ help="0 | 1",
49
+ )
44
50
  args = parser.parse_args()
45
51
 
46
52
  delim = " " if args.delim == "space" else args.delim
47
53
 
48
54
  success = False
49
- if args.task == "download":
55
+ if args.task == "clear":
56
+ success = storage.clear(
57
+ do_dryrun=args.do_dryrun == 1,
58
+ )
59
+ elif args.task == "download":
50
60
  success = storage.download(
51
61
  object_name=args.object_name,
52
62
  filename=args.filename,
@@ -4,6 +4,12 @@ from bluer_objects.logger import logger
4
4
 
5
5
 
6
6
  class StorageInterface:
7
+ def clear(
8
+ self,
9
+ do_dryrun: bool = True,
10
+ ) -> bool:
11
+ return False
12
+
7
13
  def download(
8
14
  self,
9
15
  object_name: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.100.1
3
+ Version: 6.104.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -63,6 +63,6 @@ pip install bluer-objects
63
63
 
64
64
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
65
65
 
66
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.100.1`](https://github.com/kamangir/bluer-objects).
66
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.104.1`](https://github.com/kamangir/bluer-objects).
67
67
 
68
68
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
File without changes