Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(336)

Side by Side Diff: boto/gs/acl.py

Issue 8386013: Merging in latest boto. (Closed) Base URL: svn://svn.chromium.org/boto
Patch Set: Redoing vendor drop by deleting and then merging. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « boto/fps/connection.py ('k') | boto/gs/bucket.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2010 Google Inc. 1 # Copyright 2010 Google Inc.
2 # 2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a 3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the 4 # copy of this software and associated documentation files (the
5 # "Software"), to deal in the Software without restriction, including 5 # "Software"), to deal in the Software without restriction, including
6 # without limitation the rights to use, copy, modify, merge, publish, dis- 6 # without limitation the rights to use, copy, modify, merge, publish, dis-
7 # tribute, sublicense, and/or sell copies of the Software, and to permit 7 # tribute, sublicense, and/or sell copies of the Software, and to permit
8 # persons to whom the Software is furnished to do so, subject to the fol- 8 # persons to whom the Software is furnished to do so, subject to the fol-
9 # lowing conditions: 9 # lowing conditions:
10 # 10 #
(...skipping 24 matching lines...) Expand all
35 ID = 'ID' 35 ID = 'ID'
36 NAME = 'Name' 36 NAME = 'Name'
37 OWNER = 'Owner' 37 OWNER = 'Owner'
38 PERMISSION = 'Permission' 38 PERMISSION = 'Permission'
39 SCOPE = 'Scope' 39 SCOPE = 'Scope'
40 TYPE = 'type' 40 TYPE = 'type'
41 USER_BY_EMAIL = 'UserByEmail' 41 USER_BY_EMAIL = 'UserByEmail'
42 USER_BY_ID = 'UserById' 42 USER_BY_ID = 'UserById'
43 43
44 44
45 CannedACLStrings = ['private', 'public-read', 45 CannedACLStrings = ['private', 'public-read', 'project-private',
46 'public-read-write', 'authenticated-read', 46 'public-read-write', 'authenticated-read',
47 'bucket-owner-read', 'bucket-owner-full-control'] 47 'bucket-owner-read', 'bucket-owner-full-control']
48 48
49 SupportedPermissions = ['READ', 'WRITE', 'FULL_CONTROL'] 49 SupportedPermissions = ['READ', 'WRITE', 'FULL_CONTROL']
50 50
51 class ACL: 51 class ACL:
52 52
53 def __init__(self, parent=None): 53 def __init__(self, parent=None):
54 self.parent = parent 54 self.parent = parent
55 self.entries = [] 55 self.entries = []
56 56
57 @property
58 def acl(self):
59 return self
60
57 def __repr__(self): 61 def __repr__(self):
58 # Owner is optional in GS ACLs. 62 # Owner is optional in GS ACLs.
59 if hasattr(self, 'owner'): 63 if hasattr(self, 'owner'):
60 entries_repr = [''] 64 entries_repr = ['']
61 else: 65 else:
62 entries_repr = ['Owner:%s' % self.owner.__repr__()] 66 entries_repr = ['Owner:%s' % self.owner.__repr__()]
63 acl_entries = self.entries 67 acl_entries = self.entries
64 if acl_entries: 68 if acl_entries:
65 for e in acl_entries.entry_list: 69 for e in acl_entries.entry_list:
66 entries_repr.append(e.__repr__()) 70 entries_repr.append(e.__repr__())
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 s += '<%s>%s</%s>' % (NAME, self.name, NAME) 271 s += '<%s>%s</%s>' % (NAME, self.name, NAME)
268 elif self.type == GROUP_BY_ID or self.type == USER_BY_ID: 272 elif self.type == GROUP_BY_ID or self.type == USER_BY_ID:
269 s += '<%s>%s</%s>' % (ID, self.id, ID) 273 s += '<%s>%s</%s>' % (ID, self.id, ID)
270 if self.name: 274 if self.name:
271 s += '<%s>%s</%s>' % (NAME, self.name, NAME) 275 s += '<%s>%s</%s>' % (NAME, self.name, NAME)
272 else: 276 else:
273 raise InvalidAclError('Invalid scope type "%s" ', self.type) 277 raise InvalidAclError('Invalid scope type "%s" ', self.type)
274 278
275 s += '</%s>' % SCOPE 279 s += '</%s>' % SCOPE
276 return s 280 return s
OLDNEW
« no previous file with comments | « boto/fps/connection.py ('k') | boto/gs/bucket.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698