bluer-objects 6.258.1__py3-none-any.whl → 6.268.1__py3-none-any.whl
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.
- bluer_objects/.abcli/gif.sh +18 -0
- bluer_objects/.abcli/ls.sh +15 -9
- bluer_objects/.abcli/tests/help.sh +1 -4
- bluer_objects/.abcli/tests/ls.sh +5 -1
- bluer_objects/.abcli/tests/open.sh +11 -0
- bluer_objects/.abcli/tests/open_gif_open.sh +14 -0
- bluer_objects/__init__.py +1 -1
- bluer_objects/config.env +3 -1
- bluer_objects/env.py +2 -0
- bluer_objects/help/functions.py +1 -1
- bluer_objects/help/gif.py +24 -0
- bluer_objects/help/ls.py +15 -5
- bluer_objects/storage/__init__.py +10 -0
- bluer_objects/storage/__main__.py +17 -6
- bluer_objects/storage/base.py +30 -0
- bluer_objects/storage/s3.py +57 -35
- bluer_objects/tests/test_env.py +2 -0
- {bluer_objects-6.258.1.dist-info → bluer_objects-6.268.1.dist-info}/METADATA +2 -2
- {bluer_objects-6.258.1.dist-info → bluer_objects-6.268.1.dist-info}/RECORD +22 -24
- bluer_objects/.abcli/storage/download_file.sh +0 -9
- bluer_objects/.abcli/storage/exists.sh +0 -8
- bluer_objects/.abcli/storage/list.sh +0 -8
- bluer_objects/.abcli/storage/rm.sh +0 -11
- {bluer_objects-6.258.1.dist-info → bluer_objects-6.268.1.dist-info}/WHEEL +0 -0
- {bluer_objects-6.258.1.dist-info → bluer_objects-6.268.1.dist-info}/licenses/LICENSE +0 -0
- {bluer_objects-6.258.1.dist-info → bluer_objects-6.268.1.dist-info}/top_level.txt +0 -0
bluer_objects/.abcli/gif.sh
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
function bluer_objects_gif() {
|
|
4
4
|
local options=$1
|
|
5
|
+
local do_open=$(bluer_ai_option_int "$options" open 0)
|
|
6
|
+
if [[ "$do_open" == 1 ]]; then
|
|
7
|
+
local options=$2
|
|
8
|
+
local do_download=$(bluer_ai_option_int "$options" download 0)
|
|
9
|
+
|
|
10
|
+
local object_name=$(bluer_ai_clarify_object $3 .)
|
|
11
|
+
local filename=$(bluer_ai_option "$options" filename $object_name.gif)
|
|
12
|
+
|
|
13
|
+
[[ "$do_download" == 1 ]] &&
|
|
14
|
+
bluer_objects_download \
|
|
15
|
+
filename=$filename \
|
|
16
|
+
$object_name
|
|
17
|
+
|
|
18
|
+
bluer_ai_browse $ABCLI_OBJECT_ROOT/$object_name/$filename
|
|
19
|
+
|
|
20
|
+
return
|
|
21
|
+
fi
|
|
22
|
+
|
|
5
23
|
local do_dryrun=$(bluer_ai_option_int "$options" dryrun 0)
|
|
6
24
|
local do_download=$(bluer_ai_option_int "$options" download $(bluer_ai_not $do_dryrun))
|
|
7
25
|
local do_upload=$(bluer_ai_option_int "$options" upload $(bluer_ai_not $do_dryrun))
|
bluer_objects/.abcli/ls.sh
CHANGED
|
@@ -2,17 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
function bluer_objects_ls() {
|
|
4
4
|
local options=$1
|
|
5
|
-
local where=$(bluer_ai_option_choice "$options" cloud,local)
|
|
6
|
-
|
|
7
|
-
if [[ -z "$where" ]]; then
|
|
8
|
-
ls -1 "$@"
|
|
9
|
-
else
|
|
10
|
-
local object_name=$(bluer_ai_clarify_object $2 .)
|
|
5
|
+
local where=$(bluer_ai_option_choice "$options" cloud,local local)
|
|
6
|
+
local objects=$(bluer_ai_option_int "$options" objects 0)
|
|
11
7
|
|
|
8
|
+
if [[ "$objects" == 1 ]]; then
|
|
12
9
|
python3 -m bluer_objects.storage \
|
|
13
|
-
|
|
14
|
-
--object_name $object_name \
|
|
10
|
+
ls_objects \
|
|
15
11
|
--where $where \
|
|
16
|
-
"${@:
|
|
12
|
+
"${@:2}"
|
|
13
|
+
|
|
14
|
+
return
|
|
17
15
|
fi
|
|
16
|
+
|
|
17
|
+
local object_name=$(bluer_ai_clarify_object $2 .)
|
|
18
|
+
|
|
19
|
+
python3 -m bluer_objects.storage \
|
|
20
|
+
ls \
|
|
21
|
+
--object_name $object_name \
|
|
22
|
+
--where $where \
|
|
23
|
+
"${@:3}"
|
|
18
24
|
}
|
|
@@ -29,6 +29,7 @@ function test_bluer_objects_help() {
|
|
|
29
29
|
"@download" \
|
|
30
30
|
\
|
|
31
31
|
"@gif" \
|
|
32
|
+
"@gif open" \
|
|
32
33
|
\
|
|
33
34
|
"@ls" \
|
|
34
35
|
\
|
|
@@ -69,10 +70,6 @@ function test_bluer_objects_help() {
|
|
|
69
70
|
\
|
|
70
71
|
"@storage" \
|
|
71
72
|
"@storage clear" \
|
|
72
|
-
"@storage download_file" \
|
|
73
|
-
"@storage exists" \
|
|
74
|
-
"@storage list" \
|
|
75
|
-
"@storage rm" \
|
|
76
73
|
"@storage status" \
|
|
77
74
|
\
|
|
78
75
|
"@upload" \
|
bluer_objects/.abcli/tests/ls.sh
CHANGED
|
@@ -20,5 +20,9 @@ function test_bluer_objects_ls() {
|
|
|
20
20
|
[[ $? -ne 0 ]] && return 1
|
|
21
21
|
bluer_ai_hr
|
|
22
22
|
|
|
23
|
-
bluer_objects_ls
|
|
23
|
+
bluer_objects_ls cloud,objects --prefix 2025-09
|
|
24
|
+
[[ $? -ne 0 ]] && return 1
|
|
25
|
+
bluer_ai_hr
|
|
26
|
+
|
|
27
|
+
bluer_objects_ls local,objects --prefix 2025-09
|
|
24
28
|
}
|
bluer_objects/__init__.py
CHANGED
bluer_objects/config.env
CHANGED
bluer_objects/env.py
CHANGED
|
@@ -61,3 +61,5 @@ MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY = get_env("MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY", 1
|
|
|
61
61
|
WEBDAV_HOSTNAME = get_env("WEBDAV_HOSTNAME")
|
|
62
62
|
WEBDAV_LOGIN = get_env("WEBDAV_LOGIN")
|
|
63
63
|
WEBDAV_PASSWORD = get_env("WEBDAV_PASSWORD")
|
|
64
|
+
|
|
65
|
+
BLUER_OBJECTS_TEST_OBJECT = get_env("BLUER_OBJECTS_TEST_OBJECT")
|
bluer_objects/help/functions.py
CHANGED
|
@@ -4,7 +4,7 @@ from bluer_objects import ALIAS
|
|
|
4
4
|
from bluer_objects.help.clone import help_clone
|
|
5
5
|
from bluer_objects.help.create_test_asset import help_create_test_asset
|
|
6
6
|
from bluer_objects.help.download import help_download
|
|
7
|
-
from bluer_objects.help.gif import help_gif
|
|
7
|
+
from bluer_objects.help.gif import help_functions as help_gif
|
|
8
8
|
from bluer_objects.help.host import help_functions as help_host
|
|
9
9
|
from bluer_objects.help.ls import help_ls
|
|
10
10
|
from bluer_objects.help.metadata import help_functions as help_metadata
|
bluer_objects/help/gif.py
CHANGED
|
@@ -26,3 +26,27 @@ def help_gif(
|
|
|
26
26
|
"generate <object-name>.gif.",
|
|
27
27
|
mono=mono,
|
|
28
28
|
)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def help_gif_open(
|
|
32
|
+
tokens: List[str],
|
|
33
|
+
mono: bool,
|
|
34
|
+
) -> str:
|
|
35
|
+
options = xtra("download,filename=<filename.gif>", mono=mono)
|
|
36
|
+
|
|
37
|
+
return show_usage(
|
|
38
|
+
[
|
|
39
|
+
"@gif",
|
|
40
|
+
"open",
|
|
41
|
+
f"[{options}]",
|
|
42
|
+
"[.|<object-name>]",
|
|
43
|
+
],
|
|
44
|
+
"open <object-name>.gif.",
|
|
45
|
+
mono=mono,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
help_functions = {
|
|
50
|
+
"": help_gif,
|
|
51
|
+
"open": help_gif_open,
|
|
52
|
+
}
|
bluer_objects/help/ls.py
CHANGED
|
@@ -15,20 +15,30 @@ def help_ls(
|
|
|
15
15
|
usage_1 = show_usage(
|
|
16
16
|
[
|
|
17
17
|
"@ls",
|
|
18
|
-
"cloud
|
|
19
|
-
"
|
|
18
|
+
"[cloud|local]",
|
|
19
|
+
"[.|<object-name>]",
|
|
20
20
|
]
|
|
21
21
|
+ args,
|
|
22
22
|
"ls <object-name>.",
|
|
23
23
|
mono=mono,
|
|
24
24
|
)
|
|
25
25
|
|
|
26
|
+
# ---
|
|
27
|
+
|
|
28
|
+
args = [
|
|
29
|
+
"[--delim <space>]",
|
|
30
|
+
"[--log <0>]",
|
|
31
|
+
"[--prefix <prefix>]",
|
|
32
|
+
]
|
|
33
|
+
|
|
26
34
|
usage_2 = show_usage(
|
|
27
35
|
[
|
|
28
36
|
"@ls",
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
"[cloud|local]",
|
|
38
|
+
"objects",
|
|
39
|
+
]
|
|
40
|
+
+ args,
|
|
41
|
+
"ls objects.",
|
|
32
42
|
mono=mono,
|
|
33
43
|
)
|
|
34
44
|
|
|
@@ -56,6 +56,16 @@ def ls(
|
|
|
56
56
|
)
|
|
57
57
|
|
|
58
58
|
|
|
59
|
+
def ls_objects(
|
|
60
|
+
prefix: str,
|
|
61
|
+
where: str = "local",
|
|
62
|
+
) -> Tuple[bool, List[str]]:
|
|
63
|
+
return interface.ls_objects(
|
|
64
|
+
prefix=prefix,
|
|
65
|
+
where=where,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
|
|
59
69
|
def upload(
|
|
60
70
|
object_name: str,
|
|
61
71
|
filename: str = "",
|
|
@@ -2,6 +2,7 @@ import argparse
|
|
|
2
2
|
|
|
3
3
|
from blueness import module
|
|
4
4
|
from blueness.argparse.generic import sys_exit
|
|
5
|
+
from bluer_options.logger.config import log_list
|
|
5
6
|
|
|
6
7
|
from bluer_objects import NAME
|
|
7
8
|
from bluer_objects import storage
|
|
@@ -14,7 +15,7 @@ parser = argparse.ArgumentParser(NAME)
|
|
|
14
15
|
parser.add_argument(
|
|
15
16
|
"task",
|
|
16
17
|
type=str,
|
|
17
|
-
help="clear | download | ls | upload",
|
|
18
|
+
help="clear | download | ls | ls_objects | upload",
|
|
18
19
|
)
|
|
19
20
|
parser.add_argument(
|
|
20
21
|
"--object_name",
|
|
@@ -66,6 +67,11 @@ parser.add_argument(
|
|
|
66
67
|
default="none",
|
|
67
68
|
help=" | ".join(sorted([policy.name.lower() for policy in DownloadPolicy])),
|
|
68
69
|
)
|
|
70
|
+
parser.add_argument(
|
|
71
|
+
"--prefix",
|
|
72
|
+
type=str,
|
|
73
|
+
default="",
|
|
74
|
+
)
|
|
69
75
|
args = parser.parse_args()
|
|
70
76
|
|
|
71
77
|
delim = " " if args.delim == "space" else args.delim
|
|
@@ -88,14 +94,19 @@ elif args.task == "ls":
|
|
|
88
94
|
)
|
|
89
95
|
|
|
90
96
|
if args.log:
|
|
91
|
-
logger
|
|
92
|
-
"{:,} file(s).".format(len(list_of_files)),
|
|
93
|
-
)
|
|
94
|
-
for index, filename in enumerate(list_of_files):
|
|
95
|
-
logger.info(f"#{index+1: 4d} - {filename}")
|
|
97
|
+
log_list(logger, "", list_of_files, "file(s)", 999)
|
|
96
98
|
else:
|
|
97
99
|
print(delim.join(list_of_files))
|
|
100
|
+
elif args.task == "ls_objects":
|
|
101
|
+
success, list_of_objects = storage.ls_objects(
|
|
102
|
+
prefix=args.prefix,
|
|
103
|
+
where=args.where,
|
|
104
|
+
)
|
|
98
105
|
|
|
106
|
+
if args.log:
|
|
107
|
+
log_list(logger, "", list_of_objects, "objects(s)", 999)
|
|
108
|
+
else:
|
|
109
|
+
print(delim.join(list_of_objects))
|
|
99
110
|
elif args.task == "upload":
|
|
100
111
|
success = storage.upload(
|
|
101
112
|
object_name=args.object_name,
|
bluer_objects/storage/base.py
CHANGED
|
@@ -3,8 +3,10 @@ import glob
|
|
|
3
3
|
from typing import Tuple, List
|
|
4
4
|
|
|
5
5
|
from bluer_objects import objects
|
|
6
|
+
from bluer_objects import path
|
|
6
7
|
from bluer_objects.storage.policies import DownloadPolicy
|
|
7
8
|
from bluer_objects.logger import logger
|
|
9
|
+
from bluer_objects.env import ABCLI_OBJECT_ROOT
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
class StorageInterface:
|
|
@@ -69,6 +71,34 @@ class StorageInterface:
|
|
|
69
71
|
logger.error(f"Unknown 'where': {where}")
|
|
70
72
|
return False, []
|
|
71
73
|
|
|
74
|
+
def ls_objects(
|
|
75
|
+
self,
|
|
76
|
+
prefix: str,
|
|
77
|
+
where: str = "local",
|
|
78
|
+
) -> Tuple[bool, List[str]]:
|
|
79
|
+
if where == "local":
|
|
80
|
+
return True, sorted(
|
|
81
|
+
[
|
|
82
|
+
os.path.relpath(dirname, start=ABCLI_OBJECT_ROOT)
|
|
83
|
+
for dirname in glob.glob(
|
|
84
|
+
os.path.join(
|
|
85
|
+
ABCLI_OBJECT_ROOT,
|
|
86
|
+
"*",
|
|
87
|
+
),
|
|
88
|
+
recursive=False,
|
|
89
|
+
)
|
|
90
|
+
if not os.path.isfile(dirname)
|
|
91
|
+
and path.name(dirname).startswith(prefix)
|
|
92
|
+
]
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
if where == "cloud":
|
|
96
|
+
logger.error("not implemented")
|
|
97
|
+
return False, []
|
|
98
|
+
|
|
99
|
+
logger.error(f"Unknown 'where': {where}")
|
|
100
|
+
return False, []
|
|
101
|
+
|
|
72
102
|
def upload(
|
|
73
103
|
self,
|
|
74
104
|
object_name: str,
|
bluer_objects/storage/s3.py
CHANGED
|
@@ -31,41 +31,9 @@ class S3Interface(StorageInterface):
|
|
|
31
31
|
)
|
|
32
32
|
)
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
endpoint_url=env.S3_STORAGE_ENDPOINT_URL,
|
|
38
|
-
aws_access_key_id=env.S3_STORAGE_AWS_ACCESS_KEY_ID,
|
|
39
|
-
aws_secret_access_key=env.S3_STORAGE_AWS_SECRET_ACCESS_KEY,
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
paginator = s3.get_paginator("list_objects_v2")
|
|
43
|
-
pages = paginator.paginate(
|
|
44
|
-
Bucket=env.S3_STORAGE_BUCKET,
|
|
45
|
-
Prefix="test",
|
|
46
|
-
)
|
|
47
|
-
except Exception as e:
|
|
48
|
-
logger.error(e)
|
|
49
|
-
return False
|
|
50
|
-
|
|
51
|
-
list_of_objects = sorted(
|
|
52
|
-
list(
|
|
53
|
-
set(
|
|
54
|
-
reduce(
|
|
55
|
-
lambda x, y: x + y,
|
|
56
|
-
[
|
|
57
|
-
[
|
|
58
|
-
obj["Key"].split("/", 1)[0]
|
|
59
|
-
for obj in page.get("Contents", [])
|
|
60
|
-
]
|
|
61
|
-
for page in pages
|
|
62
|
-
],
|
|
63
|
-
[],
|
|
64
|
-
)
|
|
65
|
-
)
|
|
66
|
-
)
|
|
67
|
-
)
|
|
68
|
-
|
|
34
|
+
success, list_of_objects = self.list_of_objects(prefix="test")
|
|
35
|
+
if not success:
|
|
36
|
+
return success
|
|
69
37
|
logger.info(f"{len(list_of_objects)} object(s) to delete.")
|
|
70
38
|
|
|
71
39
|
for object_name in tqdm(list_of_objects):
|
|
@@ -188,6 +156,47 @@ class S3Interface(StorageInterface):
|
|
|
188
156
|
|
|
189
157
|
return True
|
|
190
158
|
|
|
159
|
+
def list_of_objects(
|
|
160
|
+
self,
|
|
161
|
+
prefix: str = "",
|
|
162
|
+
) -> Tuple[bool, List[str]]:
|
|
163
|
+
try:
|
|
164
|
+
s3 = boto3.client(
|
|
165
|
+
"s3",
|
|
166
|
+
endpoint_url=env.S3_STORAGE_ENDPOINT_URL,
|
|
167
|
+
aws_access_key_id=env.S3_STORAGE_AWS_ACCESS_KEY_ID,
|
|
168
|
+
aws_secret_access_key=env.S3_STORAGE_AWS_SECRET_ACCESS_KEY,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
paginator = s3.get_paginator("list_objects_v2")
|
|
172
|
+
pages = paginator.paginate(
|
|
173
|
+
Bucket=env.S3_STORAGE_BUCKET,
|
|
174
|
+
Prefix=prefix,
|
|
175
|
+
)
|
|
176
|
+
except Exception as e:
|
|
177
|
+
logger.error(e)
|
|
178
|
+
return False, []
|
|
179
|
+
|
|
180
|
+
list_of_objects = sorted(
|
|
181
|
+
list(
|
|
182
|
+
set(
|
|
183
|
+
reduce(
|
|
184
|
+
lambda x, y: x + y,
|
|
185
|
+
[
|
|
186
|
+
[
|
|
187
|
+
obj["Key"].split("/", 1)[0]
|
|
188
|
+
for obj in page.get("Contents", [])
|
|
189
|
+
]
|
|
190
|
+
for page in pages
|
|
191
|
+
],
|
|
192
|
+
[],
|
|
193
|
+
)
|
|
194
|
+
)
|
|
195
|
+
)
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
return True, list_of_objects
|
|
199
|
+
|
|
191
200
|
def ls(
|
|
192
201
|
self,
|
|
193
202
|
object_name: str,
|
|
@@ -232,6 +241,19 @@ class S3Interface(StorageInterface):
|
|
|
232
241
|
where=where,
|
|
233
242
|
)
|
|
234
243
|
|
|
244
|
+
def ls_objects(
|
|
245
|
+
self,
|
|
246
|
+
prefix: str,
|
|
247
|
+
where: str = "local",
|
|
248
|
+
) -> Tuple[bool, List[str]]:
|
|
249
|
+
if where == "cloud":
|
|
250
|
+
return self.list_of_objects(prefix)
|
|
251
|
+
|
|
252
|
+
return super().ls_objects(
|
|
253
|
+
prefix=prefix,
|
|
254
|
+
where=where,
|
|
255
|
+
)
|
|
256
|
+
|
|
235
257
|
def upload(
|
|
236
258
|
self,
|
|
237
259
|
object_name: str,
|
bluer_objects/tests/test_env.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_objects
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.268.1
|
|
4
4
|
Summary: 🌀 Object management in Bash.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-objects
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -64,6 +64,6 @@ pip install bluer-objects
|
|
|
64
64
|
|
|
65
65
|
[](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-objects/) [](https://pypistats.org/packages/bluer-objects)
|
|
66
66
|
|
|
67
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.
|
|
67
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.268.1`](https://github.com/kamangir/bluer-objects).
|
|
68
68
|
|
|
69
69
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
bluer_objects/__init__.py,sha256=
|
|
1
|
+
bluer_objects/__init__.py,sha256=1DFWre2PnLmHMPD012t6Lb3WUFwsqYsE4JdhREj6Vlc,315
|
|
2
2
|
bluer_objects/__main__.py,sha256=Yqfov833_hJuRne19WrGhT5DWAPtdffpoMxeSXS7EGw,359
|
|
3
|
-
bluer_objects/config.env,sha256=
|
|
4
|
-
bluer_objects/env.py,sha256=
|
|
3
|
+
bluer_objects/config.env,sha256=ReX0OSH_dK2tdD4-zAlp-427BB57yw8uDTS6tLYN4K0,270
|
|
4
|
+
bluer_objects/env.py,sha256=ecwldUVsamxAjOI0a6PmbZPcyhdUZgzJ-nhAPh0CJRo,2085
|
|
5
5
|
bluer_objects/markdown.py,sha256=23dvQTR0wY_SSeCw4EgYwCBBY0Oe9C1I9njqn0KvcaQ,1000
|
|
6
6
|
bluer_objects/objects.py,sha256=EYzA1vKngY2c_gdMKnUfrKVUcf-5wpFKgBFaVJA4cLE,1626
|
|
7
7
|
bluer_objects/path.py,sha256=9uspZqObI29NerVDF30uILLaouDtloASh0Mywyq2_ew,3946
|
|
@@ -16,9 +16,9 @@ bluer_objects/.abcli/clone.sh,sha256=KqC5d4MAXwo7UZGhKnfCq9k9CCSl3I1dpU1igYs0Yrs
|
|
|
16
16
|
bluer_objects/.abcli/create_test_asset.sh,sha256=ONIdad_WRjZWdW6V2RalRW2qSJwybEwzU-_KsvaJ9og,245
|
|
17
17
|
bluer_objects/.abcli/download.sh,sha256=SKv4JyjcWjOutK95-gurCqbRjpmcrmzxASEEdT23Ob4,650
|
|
18
18
|
bluer_objects/.abcli/file.sh,sha256=djcHSFS8fqlCsoDyZKmimNTzd-jOUnxbOFpL7xq_hGk,150
|
|
19
|
-
bluer_objects/.abcli/gif.sh,sha256=
|
|
19
|
+
bluer_objects/.abcli/gif.sh,sha256=cskDoi_BJq5phOAqgJouxH2biC2z3LlDgd9JHAQqvM0,1363
|
|
20
20
|
bluer_objects/.abcli/host.sh,sha256=N-Gdsk-mR2V2MvFlwlIVwaiGkQyV1DoM5UdhQrpUsls,573
|
|
21
|
-
bluer_objects/.abcli/ls.sh,sha256
|
|
21
|
+
bluer_objects/.abcli/ls.sh,sha256=S1-TGNgxKb8WdKA6rVLZRNqIdAw8VxblQdg4bZ_A1zY,572
|
|
22
22
|
bluer_objects/.abcli/metadata.sh,sha256=EXBB39nn5PRRryIlfetIpR4fPQ-4eDg7Hnee9g1JXrI,377
|
|
23
23
|
bluer_objects/.abcli/mlflow.sh,sha256=7ylwHrQas-QbAJ8SfDJiN3zbuU6ifLUBEAhPRw38Hpc,625
|
|
24
24
|
bluer_objects/.abcli/object.sh,sha256=Zh2ZMFqBSIOHwwwLegCMxJRfaYCbPp1EJMT3LvcFzhE,739
|
|
@@ -46,24 +46,22 @@ bluer_objects/.abcli/mlflow/tags/get.sh,sha256=hsI_zzwJkRmnxvAKlCPdkGlEbn5Ol3eVp
|
|
|
46
46
|
bluer_objects/.abcli/mlflow/tags/search.sh,sha256=kJBLkd7_ACeMUXdRk-zXkBfOoiyDWwO8sUit2NkIhNY,299
|
|
47
47
|
bluer_objects/.abcli/mlflow/tags/set.sh,sha256=-8hYtWAChlGbKIiI502IyaEaTikuACFFwUTdUnGkW7Q,277
|
|
48
48
|
bluer_objects/.abcli/storage/clear.sh,sha256=QgotGPskzCwtTjKobokduCfjfy6vFHqzFZ6t-H9qwN0,1504
|
|
49
|
-
bluer_objects/.abcli/storage/download_file.sh,sha256=2ZQgsxzSYw5Zwcj5XQn-NcHI_MkmzmmZWLM4D1ev1N4,203
|
|
50
|
-
bluer_objects/.abcli/storage/exists.sh,sha256=0b8wgjts1z8GZbE_KeulbrG471hACKORPPcwwqRvYNE,163
|
|
51
|
-
bluer_objects/.abcli/storage/list.sh,sha256=ySUDS31yq9qQ_2q7oXR302hConAzs0LYQ739TWJgQsI,165
|
|
52
|
-
bluer_objects/.abcli/storage/rm.sh,sha256=1r1szcLhzHf_kk46c91Pz-xY7jvqigyZKQGRXWsJg7w,286
|
|
53
49
|
bluer_objects/.abcli/storage/status.sh,sha256=HRbQq9EhoZ1S-GHXOTeclSOTbV-hrEieGAFIKP6ZE8w,383
|
|
54
50
|
bluer_objects/.abcli/tests/README.sh,sha256=gk2KuNLFTuV3qdVgH8BNfJmur3gZoSV8EwLboVjrCgM,150
|
|
55
51
|
bluer_objects/.abcli/tests/clone.sh,sha256=Rl9pHvmRJ4H-y-iMA80q11UdSZFrguNaMTez0LTtJjA,473
|
|
56
52
|
bluer_objects/.abcli/tests/create_test_asset.sh,sha256=onRGc3VjDWA7On3isxKD3J7mxA6n349AVXRj90Z3Jzc,386
|
|
57
53
|
bluer_objects/.abcli/tests/gif.sh,sha256=2FvcomiyYTzJa527a7Wk2EJt5N9_vZt8tmQD1QVetDg,461
|
|
58
|
-
bluer_objects/.abcli/tests/help.sh,sha256=
|
|
54
|
+
bluer_objects/.abcli/tests/help.sh,sha256=y1_iNyS5YQzS7vRV_HpqjBiXihJFAZXHTZEAX7ZRLKU,1885
|
|
59
55
|
bluer_objects/.abcli/tests/host.sh,sha256=GBuTLNw1sU3fAb5jS-ew_qAfovVCQ5CLaz5ad04IkoA,144
|
|
60
|
-
bluer_objects/.abcli/tests/ls.sh,sha256=
|
|
56
|
+
bluer_objects/.abcli/tests/ls.sh,sha256=cwprXK2pBKDMWg71XgooYUgYwP2Ef7cJjbaZi1ggqdk,662
|
|
61
57
|
bluer_objects/.abcli/tests/metadata.sh,sha256=OP1c0h0TSlDycrv0UglKLyBtTQwqh9M0nqVAdQUzkno,1723
|
|
62
58
|
bluer_objects/.abcli/tests/mlflow_cache.sh,sha256=EEAPGasQgN4j6YLp30_IMYAPCTUBxmTgoMzMSpseVbw,388
|
|
63
59
|
bluer_objects/.abcli/tests/mlflow_lock.sh,sha256=TJwp6HbVUOT1HqRfXPS8_zpKAL7-mBee_yyOhmKNzt4,717
|
|
64
60
|
bluer_objects/.abcli/tests/mlflow_logging.sh,sha256=TVzHhk9qRthpP2xdKwu3LwK00S77GqH50io3oVyS2UE,305
|
|
65
61
|
bluer_objects/.abcli/tests/mlflow_tags.sh,sha256=pX4sEK_z2Vrb7a6Bq4qWurFVPZkvjpS10K4MLx3mf64,811
|
|
66
62
|
bluer_objects/.abcli/tests/mlflow_test.sh,sha256=7MXxYq2GgD2MEJbQlpx80qLT2HaaVn_PFFMpSA_hWA4,125
|
|
63
|
+
bluer_objects/.abcli/tests/open.sh,sha256=usVDe2dIcuwIicGxL5y8KiIxPngY04aUgZuYe_5B3xY,211
|
|
64
|
+
bluer_objects/.abcli/tests/open_gif_open.sh,sha256=Hmpkic6IUFT_NvFCzkY8163Ltx25tECRB6NinXgpCXA,247
|
|
67
65
|
bluer_objects/.abcli/tests/storage_public_upload.sh,sha256=qwyUSejxDlV5Q1f7jyOLej_ADZt50HwbuSImFcrMWf8,589
|
|
68
66
|
bluer_objects/.abcli/tests/storage_upload_download.sh,sha256=GvFZgzRzN9zlAGLM7m-_uDlDyATAUo7KQcW2yXYFaKw,1604
|
|
69
67
|
bluer_objects/.abcli/tests/version.sh,sha256=k-lXozSjyFgFR58cTzUYla0Ef-upx3sSK641zI5ynfE,169
|
|
@@ -93,10 +91,10 @@ bluer_objects/help/__main__.py,sha256=Dxg-JpMOIlYWZklI_J2LyiHnRui5lUwWmfM7FLRzUX
|
|
|
93
91
|
bluer_objects/help/clone.py,sha256=PDnQs7zc4sqmoBHPjVRfX7jIaePiohPGCNA5bxeerik,553
|
|
94
92
|
bluer_objects/help/create_test_asset.py,sha256=oxJORm2qk4b_q7EC6-dEuNu1_pK9Ri60PcHhrE8ruxM,375
|
|
95
93
|
bluer_objects/help/download.py,sha256=9zC_IvH4p2vMXb_qcAS176CBFp5fJe4Z9DFMPdSGBac,751
|
|
96
|
-
bluer_objects/help/functions.py,sha256=
|
|
97
|
-
bluer_objects/help/gif.py,sha256=
|
|
94
|
+
bluer_objects/help/functions.py,sha256=PuiRYDIBDbw3TB0d03dqAvDEc-xqC6fRIAZLYzDpg50,1114
|
|
95
|
+
bluer_objects/help/gif.py,sha256=BWxfQoSWeK9ijguUeglZx2wXWZAsnUIxF9LkuimipNA,974
|
|
98
96
|
bluer_objects/help/host.py,sha256=4t4yrPGjTbnFtODcuBjfIzpA5pmmvc5s4QrjIqPPVsM,988
|
|
99
|
-
bluer_objects/help/ls.py,sha256=
|
|
97
|
+
bluer_objects/help/ls.py,sha256=X2QNKMiLj3oXj6lE51HwBoZWaaw9I3JkXNhBTp7sQgA,791
|
|
100
98
|
bluer_objects/help/metadata.py,sha256=fk22NasBcZU1ffY4fu6AxrCzMQtTI28p_ghaSVRrrPM,2811
|
|
101
99
|
bluer_objects/help/upload.py,sha256=kied2p7II-zCdme_GyDs_74n-15iwyS_RMh2SWLkw1I,460
|
|
102
100
|
bluer_objects/help/web.py,sha256=YGxzU0GyoQAA8tqnEoGcC4rABFW_RnI44PhvHvIG5dA,626
|
|
@@ -131,17 +129,17 @@ bluer_objects/mlflow/lock/functions.py,sha256=MOslqblNAOsRvILzLF4q6m2EAwCk4f4zEW
|
|
|
131
129
|
bluer_objects/storage/WebDAV.py,sha256=UftrpSDzJAtTeMEORNpOTbDhmRYAzgdTNbmrAkgzPTU,3279
|
|
132
130
|
bluer_objects/storage/WebDAVrequest.py,sha256=Wp4rtlWif7sdu4VohxenT8YVmf-tmV9gbBYxuKFDR8M,10279
|
|
133
131
|
bluer_objects/storage/WebDAVzip.py,sha256=EHbERaxnLUQqWSM12dwJYybvXCIqqo66uThvNBE8BHI,4212
|
|
134
|
-
bluer_objects/storage/__init__.py,sha256=
|
|
135
|
-
bluer_objects/storage/__main__.py,sha256=
|
|
136
|
-
bluer_objects/storage/base.py,sha256=
|
|
132
|
+
bluer_objects/storage/__init__.py,sha256=NA1qMF6nIgQ66c9YGVW1LNfN0sKfzcwZqnx9iPhQeso,2039
|
|
133
|
+
bluer_objects/storage/__main__.py,sha256=CLU8a36Kz59iDjFbKGFQvzHuGKoEFLQa-yAGvIQEQH8,2538
|
|
134
|
+
bluer_objects/storage/base.py,sha256=kIBlEnIns--VBccNzNi4JvNh6LNo5p8cl1XdZ2J9p1k,3322
|
|
137
135
|
bluer_objects/storage/policies.py,sha256=xIuIhFjcWH7ptg_jUgfYTNnXqs9xaX4yU5qSOhmmxhI,125
|
|
138
|
-
bluer_objects/storage/s3.py,sha256=
|
|
136
|
+
bluer_objects/storage/s3.py,sha256=_JSdVN_D9yr0r6l69Oh3yCp6CjyTHFAMap71qx-DXAA,10311
|
|
139
137
|
bluer_objects/testing/__init__.py,sha256=DWY5ZtvCnHG_t9BDiqy_ArLOZi-nlyAtPVMLA1PPAMU,62
|
|
140
138
|
bluer_objects/testing/__main__.py,sha256=hhJV9qn0V_8FxzNDcoHCHr4A7zf9UudnNGJCAPkTBGU,750
|
|
141
139
|
bluer_objects/testing/functions.py,sha256=AXAfzWLcEPkbSYTehdahshjKJ45C4IJkRs_TgrHOntc,1355
|
|
142
140
|
bluer_objects/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
141
|
bluer_objects/tests/test_README.py,sha256=5D4UV8VcjbeAPThsYVynYtVFuP8gwMAhIjEWuOQZsWs,89
|
|
144
|
-
bluer_objects/tests/test_env.py,sha256=
|
|
142
|
+
bluer_objects/tests/test_env.py,sha256=HgVCbnHGLIXK8GiaWNWORW9nAHs7fqvIoo6S5Jj29-g,1132
|
|
145
143
|
bluer_objects/tests/test_file_download.py,sha256=1_adHYqgSifkdP-I7TQVW0t8MLCujQ61fvRbcrSkcmg,512
|
|
146
144
|
bluer_objects/tests/test_file_load_save.py,sha256=unqxfiqba6RVhMS95AtHZWsT7Q097jBOKdckAT9PyFU,2390
|
|
147
145
|
bluer_objects/tests/test_file_load_save_text.py,sha256=3XnBGlv3KZvheHY-RlX1Su6LOBkkn57pkf9_dXR81r8,1017
|
|
@@ -173,8 +171,8 @@ bluer_objects/tests/test_web_is_accessible.py,sha256=2Y20NAEDMblg0MKnhnqcfw3XVKE
|
|
|
173
171
|
bluer_objects/web/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
174
172
|
bluer_objects/web/__main__.py,sha256=xf2Ob54FI8JEokfGhFmiyOBdD9nBactwqmZvsKsdioU,624
|
|
175
173
|
bluer_objects/web/functions.py,sha256=KNufAFOc6N3BYf83lN2rUpKUdsnzb2anWyp9koFRVUo,172
|
|
176
|
-
bluer_objects-6.
|
|
177
|
-
bluer_objects-6.
|
|
178
|
-
bluer_objects-6.
|
|
179
|
-
bluer_objects-6.
|
|
180
|
-
bluer_objects-6.
|
|
174
|
+
bluer_objects-6.268.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
175
|
+
bluer_objects-6.268.1.dist-info/METADATA,sha256=o8fZ4ra5JpZdaWbAlT1qrImkGZzP-hk3oEOXQx5vXRE,3678
|
|
176
|
+
bluer_objects-6.268.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
177
|
+
bluer_objects-6.268.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
|
|
178
|
+
bluer_objects-6.268.1.dist-info/RECORD,,
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
function bluer_ai_storage_rm() {
|
|
4
|
-
local options=$1
|
|
5
|
-
local do_dryrun=$(bluer_ai_option_int "$options" dryrun 1)
|
|
6
|
-
|
|
7
|
-
local object_name=$(bluer_ai_clarify_object $2 void)
|
|
8
|
-
|
|
9
|
-
bluer_ai_eval dryrun=$do_dryrun \
|
|
10
|
-
rm -rfv $ABCLI_OBJECT_ROOT/$object_name
|
|
11
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|