Skip to content

Commit fafd75a

Browse files
d-w-moorealanking
authored andcommitted
[#420] store integer codes & strings for access levels
1 parent 6ea05fd commit fafd75a

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

irods/access.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
1+
import collections
2+
13
class iRODSAccess(object):
24

5+
codes = { key:value for key,value in dict( # copied from iRODS server code:
6+
null = 1000, # server/core/include/irods/catalog_utilities.hpp
7+
execute = 1010,
8+
read_annotation = 1020,
9+
read_system_metadata = 1030,
10+
read_metadata = 1040,
11+
read_object = 1050,
12+
write_annotation = 1060,
13+
create_metadata = 1070,
14+
modify_metadata = 1080,
15+
delete_metadata = 1090,
16+
administer_object = 1100,
17+
create_object = 1110,
18+
modify_object = 1120,
19+
delete_object = 1130,
20+
create_token = 1140,
21+
delete_token = 1150,
22+
curate = 1160,
23+
own = 1200
24+
).items() if key in (
25+
# These are copied from ichmod help text.
26+
'own',
27+
'delete_object',
28+
'write', 'modify_object',
29+
'create_object',
30+
'delete_metadata',
31+
'modify_metadata',
32+
'create_metadata',
33+
'read', 'read_object',
34+
'read_metadata',
35+
'null'
36+
)
37+
}
38+
39+
strings = collections.OrderedDict(sorted((number,string) for string,number in codes.items()))
40+
341
def __init__(self, access_name, path, user_name='', user_zone='', user_type=None):
442
self.access_name = access_name
543
self.path = path

0 commit comments

Comments
 (0)