Пример #1
0
            return revision
    
    @locktree
    def __delitem__(self, key):
        todelete = self[key]
        if hasattr(self, '_todelete'):
            self._todelete.append(todelete)
        else:
            self._todelete = [todelete]
        AdapterNode.__delitem__(self, key)
    
    @locktree
    def __call__(self):
        if hasattr(self, '_todelete'):
            config = solr_config(self)
            for revision in self._todelete:
                unindex_doc(config, revision)
                del self.model[revision.__name__]
            del self._todelete
        self.model()
        self.metadata()


info = NodeInfo()
info.title = 'Media'
info.description = 'A media object.'
info.node = MediaAdapter
info.addables = ['revision']
info.icon = 'mdb-static/images/media16_16.png'
registerNodeInfo('media', info)
Пример #2
0
            logger.error(str(e))
            return iter(list())

    iterkeys = __iter__

    @locktree
    def __getitem__(self, name):
        # XXX: temporary hack until paster/webob/pyramid handle urllib
        # quoted slashes in path components
        name = unquote_slash(name)
        try:
            return BaseNode.__getitem__(self, name)
        except KeyError:
            try:
                model = self.backend[name]
            except AttributeError:
                raise KeyError(name)
            user = User(model, name, self)
            self[name] = user
            return user


info = NodeInfo()
info.title = _('users_node', 'Users')
info.description = _('users_node_description',
                     'Container for Users')
info.node = Users
info.addables = ['user']
info.icon = 'cone.ugm.static/images/users16_16.png'
registerNodeInfo('users', info)
Пример #3
0
        return props

    @property
    def metadata(self):
        md = BaseMetadata()
        md.title = "c3s App"
        return md


info = NodeInfo()
info.title = "C3SApp"
info.description = "This is a c3s app"
info.addables = ["band"]
# info.icon = 'url/to/icon'
info.node = C3SApp
registerNodeInfo("c3sapp", info)


class Band(BaseNode):
    __metaclass__ = plumber
    __plumbing__ = UUIDAttributeAware

    node_info_name = "band"

    @property
    def properties(self):
        props = Properties()
        props.in_navtree = True
        props.action_list = True
        props.action_add = True
        props.action_edit = True
Пример #4
0
)
from cone.ugm.model.interfaces import IGroup


class Group(AdapterNode):
    
    implements(IGroup)
    
    @property
    def properties(self):
        props = Properties()
        props.editable = True
        return props
    
    @property
    def metadata(self):
        metadata = BaseMetadata()
        metadata.title = "Group"
        metadata.description = "Group"
        return metadata
    
    def __call__(self):
        self.model()

info = BaseNodeInfo()
info.title = 'Group'
info.description = 'Group'
info.node = Group
info.addables = []
registerNodeInfo('group', info)
Пример #5
0
from cone.ugm.model.interfaces import IGroup


class Group(AdapterNode):

    implements(IGroup)

    @property
    def properties(self):
        props = Properties()
        props.editable = True
        return props

    @property
    def metadata(self):
        metadata = BaseMetadata()
        metadata.title = "Group"
        metadata.description = "Group"
        return metadata

    def __call__(self):
        self.model()


info = BaseNodeInfo()
info.title = 'Group'
info.description = 'Group'
info.node = Group
info.addables = []
registerNodeInfo('group', info)
Пример #6
0
        props.action_add = True
        return props

    @property
    def metadata(self):
        md = BaseMetadata()
        md.title = 'c3s App'
        return md

info = NodeInfo()
info.title = 'C3SApp'
info.description = 'This is a c3s app'
info.addables = ['band']
#info.icon = 'url/to/icon'
info.node = C3SApp
registerNodeInfo('c3sapp', info)


class Band(BaseNode):
    __metaclass__ = plumber
    __plumbing__ = UUIDAttributeAware

    node_info_name = 'band'

    @property
    def properties(self):
        props = Properties()
        props.in_navtree = True
        props.action_list = True
        props.action_add = True
        props.action_edit = True
Пример #7
0
        if hasattr(self, '_todelete'):
            self._todelete.append(todelete)
        else:
            self._todelete = [todelete]
        AdapterNode.__delitem__(self, key)
    
    @locktree
    def __call__(self):
        if hasattr(self, '_todelete'):
            config = solr_config(self)
            for media in self._todelete:
                unindex_doc(config, media)
                for revision in media.values():
                    unindex_doc(config, revision)
                path = os.path.join(self.model.__name__,
                                    *media.model.mediapath + ['media.info'])
                os.remove(path)
                del self.model[media.__name__]
            del self._todelete
        self.model()
        self.metadata()


info = NodeInfo()
info.title = 'Repository'
info.description = 'A repository.'
info.node = RepositoryAdapter
info.addables = ['media']
info.icon = 'mdb-static/images/repository16_16.png'
registerNodeInfo('repository', info)
Пример #8
0
        if self.model:
            metadata = self.model.get('metadata')
            if metadata:
                return metadata
        return Properties()                                 #pragma NO COVERAGE
    
    def _get_state(self):
        return self.metadata.state
    
    def _set_state(self, val):
        self.metadata.state = val
    
    state = property(_get_state, _set_state)
    
    def __iter__(self):
        return iter(list())
    
    iterkeys = __iter__
    
    def __call__(self):
        self.model()


info = NodeInfo()
info.title = 'Revision'
info.description = 'A revision.'
info.node = RevisionAdapter
info.addables = []
info.icon = 'mdb-static/images/revision16_16.png'
registerNodeInfo('revision', info)
Пример #9
0
        props.action_add = True
        return props

    @property
    def metadata(self):
        md = BaseMetadata()
        md.title = 'My App'
        return md

info = NodeInfo()
info.title = 'MyApp'
info.description = 'This is my app'
info.addables = ['band']
#info.icon = 'url/to/icon'
info.node = MyApp
registerNodeInfo('myapp', info)


class Band(BaseNode):
    __metaclass__ = plumber
    __plumbing__ = UUIDAttributeAware

    node_info_name = 'band'

    @property
    def properties(self):
        props = Properties()
        props.in_navtree = True
        props.action_list = True
        props.action_add = True
        props.action_edit = True
Пример #10
0
class User(AdapterNode):

    implements(IUser)

    node_info_name = 'user'

    @property
    def properties(self):
        props = Properties()
        props.editable = True
        return props

    @property
    def metadata(self):
        metadata = BaseMetadata()
        metadata.title = "User"
        metadata.description = "User"
        return metadata

    def __call__(self):
        self.model()


info = BaseNodeInfo()
info.title = 'User'
info.description = 'User'
info.node = User
info.addables = []
registerNodeInfo('user', info)
Пример #11
0
    def __delitem__(self, key):
        todelete = self[key]
        if hasattr(self, '_todelete'):
            self._todelete.append(todelete)
        else:
            self._todelete = [todelete]
        BaseNode.__delitem__(self, key)
    
    @locktree
    def __call__(self):
        if not hasattr(self, '_todelete'):
            return
        config = solr_config(self)
        for repository in self._todelete:
            for media in repository.values():
                unindex_doc(config, media)
                for revision in media.values():
                    unindex_doc(config, revision)
            path = os.path.join(self.dbpath, repository.__name__)
            shutil.rmtree(path)
        del self._todelete


info = NodeInfo()
info.title = 'Repositories'
info.description = 'Collection of repositories.'
info.node = Repositories
info.addables = ['repository']
info.icon = 'mdb-static/images/repositories16_16.png'
registerNodeInfo('repositories', info)