Skip to content

Commit 042b7e1

Browse files
committed
s3cmd: handle cases of empty key or value for settagging
1 parent 4d97114 commit 042b7e1

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

Diff for: s3cmd

+9-4
Original file line numberDiff line numberDiff line change
@@ -2481,10 +2481,15 @@ def cmd_settagging(args):
24812481
uri = S3Uri(args[0])
24822482
tag_set_string = args[1]
24832483

2484-
tagsets = [
2485-
tuple(tagset.split("="))
2486-
for tagset in tag_set_string.split("&")
2487-
]
2484+
tagsets = []
2485+
for tagset in tag_set_string.split("&"):
2486+
keyval = tagset.split("=", 1)
2487+
key = keyval[0]
2488+
if not key:
2489+
raise ParameterError("Tag key should not be empty")
2490+
value = len(keyval) > 1 and keyval[1] or ""
2491+
tagsets.append((key, value))
2492+
24882493
debug(tagsets)
24892494
response = s3.set_tagging(uri, tagsets)
24902495

0 commit comments

Comments
 (0)