예제 #1
0
파일: property.py 프로젝트: Vinsurya/Plone
    def __init__(self, id, title='', schema=None, **kw):
        """Create in-ZODB mutable property provider.

        Provide a schema either as a list of (name,type,value) tuples
        in the 'schema' parameter or as a series of keyword parameters
        'name=value'. Types will be guessed in this case.

        The 'value' is meant as the default value, and will be used
        unless the user provides data.

        If no schema is provided by constructor, the properties of the
        portal_memberdata object will be used.

        Types available: string, text, boolean, int, long, float, lines, date
        """
        self.id = id
        self.title = title
        self._storage = OOBTree()

        # calculate schema and default values
        defaultvalues = {}
        if not schema and not kw:
            schema = ()
        elif not schema and kw:
            schema = _guessSchema(kw)
            defaultvalues = kw
        else:
            valuetuples = [(name, value) for name, type, value in schema]
            schema = [(name, type) for name, type, value in schema]
            for name, value in valuetuples:
                defaultvalues[name] = value
        self._schema = tuple(schema)
        self._defaultvalues = defaultvalues
예제 #2
0
    def __init__(self, id, title='', schema=None, **kw):
        """Create in-ZODB mutable property provider.

        Provide a schema either as a list of (name,type,value) tuples
        in the 'schema' parameter or as a series of keyword parameters
        'name=value'. Types will be guessed in this case.

        The 'value' is meant as the default value, and will be used
        unless the user provides data.

        If no schema is provided by constructor, the properties of the
        portal_memberdata object will be used.

        Types available: string, text, boolean, int, long, float, lines, date
        """
        self.id = id
        self.title = title
        self._storage = OOBTree()

        # calculate schema and default values
        defaultvalues = {}
        if not schema and not kw:
            schema = ()
        elif not schema and kw:
            schema = _guessSchema(kw)
            defaultvalues = kw
        else:
            valuetuples = [(name, value) for name, type, value in schema]
            schema = [(name, type) for name, type, value in schema]
            for name, value in valuetuples:
                defaultvalues[name] = value
        self._schema = tuple(schema)
        self._defaultvalues = defaultvalues
예제 #3
0
파일: test_pas.py 프로젝트: dtgit/dtedu
    def testGuessSchema(self):
        sm = AccessControl.getSecurityManager()
        user = sm.getUser()

        info = {
            'firstname': 'Joe',
            'lastname': 'Schmoe',
            'email': '*****@*****.**',
            'date_created': datetime.datetime.today(),
        }
        self.source_users.doAddUser(user.getUserName(), self.password)
        self.source_properties.updateUserInfo(user=user, set_id=None, set_info=info)

        props = self.source_properties.getPropertiesForUser(user)

        s = ''
        for key, value in props.propertyItems():
            s += 'key=%s; value=%s; type=%s\n' % (key, value, str(type(value)))

        #XXX props.setProperty(user, 'date_created', str(DateTime.DateTime()))

        for value in props.propertyValues():
            value = dict(value=value)
            _guessSchema(value)