Exemple #1
0
    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
Exemple #4
0
    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)
Exemple #6
0
    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)