def addPropertysheet(self, id, data): """ Add a new propertysheet. o Raise KeyError if a sheet of the given ID already exists. """ if self._propertysheets.get(id) is not None: raise KeyError, "Duplicate property sheet: %s" % id if IPropertySheet.providedBy(data): self._propertysheets[id] = data else: self._propertysheets[id] = UserPropertySheet(id, **data)
def addPropertysheet(self, id, data): """ Add a new propertysheet. o Raise KeyError if a sheet of the given ID already exists. """ if self._propertysheets.get(id) is not None: raise KeyError("Duplicate property sheet: {0}".format(id)) if IPropertySheet.providedBy(data): self._propertysheets[id] = data else: self._propertysheets[id] = UserPropertySheet(id, **data)
def addPropertysheet(self, id, data): """ -> add a prop sheet, given data which is either a property sheet or a raw mapping. """ if IPropertySheet.providedBy(data): sheet = data else: sheet = UserPropertySheet(id, **data) if self._propertysheets.get(id) is not None: raise KeyError('Duplicate property sheet: %s' % id) self._propertysheets[id] = sheet
def addPropertysheet(self, id, data): """ -> add a prop sheet, given data which is either a property sheet or a raw mapping. """ if IPropertySheet.providedBy(data): sheet = data else: sheet = UserPropertySheet(id, **data) if self._propertysheets.get(id) is not None: raise KeyError, "Duplicate property sheet: %s" % id self._propertysheets[id] = sheet
def getPropertiesForUser(self, user, request=None): """ Retrieve all the IMembraneUserProperties property providers and delegate to them. """ properties = {} prop_providers = self._getPropertyProviders(user) for mem_props in prop_providers: psheet = mem_props.getPropertiesForUser(user, request) if psheet: if IPropertySheet.providedBy(psheet): items = psheet.propertyItems() else: items = psheet.items() for prop, value in items: properties[prop] = value if 'id' in properties: # When instantiating sheet(id, **props) is used - two ids is bad del properties['id'] return MutablePropertySheet(self.id, **properties)