forked from irods/irods_rule_engine_plugin_python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrulemsiString2StrArray.r
More file actions
27 lines (19 loc) · 817 Bytes
/
Copy pathrulemsiString2StrArray.r
File metadata and controls
27 lines (19 loc) · 817 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def main(rule_args, callback, rei):
in_str = irods_rule_vars['*Str'][1:-1]
callback.writeLine('stdout', 'Input string is ' + in_str)
# Replaces msiString2StrArray
str_as_list = in_str.split('%')
# Combined with above, replaces msiString2KeyValPair
str_as_keyval_dict = {}
for keyval in str_as_list:
(key, val) = keyval.split('=', 1)
str_as_keyval_dict[key] = val
# Replaces writeKeyValPairs
for key, val in str_as_keyval_dict.items():
callback.writeLine('stdout', key + ' : ' + val)
# Replaces msiStrArray2String
out_str = '%'.join(str_as_list)
callback.writeLine('stdout', 'After conversion to array and back, string is')
callback.writeLine('stdout', out_str)
INPUT *Str="key1=value1%key2=value2%key3=value3"
OUTPUT ruleExecOut