| OLD | NEW | 
|---|
| 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  Loading... | 
| 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  Loading... | 
| 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 | 
| OLD | NEW | 
|---|