示例#1
0
    def make_resource(self, name, cls, soft=False, **kw):
        # Automatic name
        if name is None:
            name = self.make_resource_name()

        # Make a resource somewhere else
        if '/' in name:
            path = dirname(name)
            name = basename(name)
            resource = self.get_resource(path)
            resource.make_resource(name, cls, soft=soft, **kw)
            return

        # Soft
        if soft is True:
            resource = self.get_resource(name, soft=True)
            if resource:
                return resource

        # Make the metadata
        metadata = Metadata(cls=cls)
        self.handler.set_handler('%s.metadata' % name, metadata)
        metadata.set_property('mtime', get_context().timestamp)
        # Initialize
        resource = self.get_resource(name)
        self.database.add_resource(resource)
        resource.init_resource(**kw)
        # Ok
        return resource
示例#2
0
 def setUp(self):
     metadata = Metadata(cls=WebPage)
     title = MetadataProperty(u'Hello World', lang='en')
     metadata.set_property('title', title)
     self.metadata = metadata
     # Sandbox
     lfs.make_folder('sandbox')
示例#3
0
 def setUp(self):
     metadata = Metadata(cls=WebPage)
     title = MetadataProperty(u'Hello World', lang='en')
     metadata.set_property('title', title)
     self.metadata = metadata
     # Sandbox
     vfs.make_folder('sandbox')
示例#4
0
    def make_resource(self, name, cls, soft=False, **kw):
        # Automatic name
        if name is None:
            name = self.make_resource_name()

        # Make a resource somewhere else
        if '/' in name:
            path = dirname(name)
            name = basename(name)
            resource = self.get_resource(path)
            resource.make_resource(name, cls, soft=soft, **kw)
            return

        # Soft
        if soft is True:
            resource = self.get_resource(name, soft=True)
            if resource:
                return resource

        # Make the metadata
        metadata = Metadata(cls=cls)
        self.handler.set_handler('%s.metadata' % name, metadata)
        metadata.set_property('mtime', get_context().timestamp)
        # Initialize
        resource = self.get_resource(name)
        resource.init_resource(**kw)
        # Ok
        self.database.add_resource(resource)
        return resource