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
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
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')
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')
def test_good(self): metadata = Metadata(string=good_metadata) value = metadata.get_property('free_title') self.assertEqual(type(value), list) expected = {'en': 'bye', 'fr': 'au revoir'} for property in value: language = property.get_parameter('lang')[0] self.assertEqual(property.value, expected[language])
class LoadTestCase(TestCase): def setUp(self): self.metadata = Metadata(string=metadata_str, cls=WebPage) def test_format(self): format = self.metadata.format self.assertEqual(format, 'webpage') def test_version(self): value = self.metadata.version self.assertEqual(value, '20090122') def test_title(self): value = self.metadata.get_property('title', language='fr').value self.assertEqual(type(value), unicode) self.assertEqual(value, u'bonjour')
class LoadTestCase(TestCase): def setUp(self): self.metadata = Metadata(string=metadata_str) def test_format(self): format = self.metadata.format self.assertEqual(format, 'webpage') def test_version(self): value = self.metadata.version self.assertEqual(value, '20090122') def test_title(self): value = self.metadata.get_property('title', language='fr').value self.assertEqual(type(value), unicode) self.assertEqual(value, u'bonjour')
def create_server(target, email, password, root, modules, listen_port='8080', smtp_host='localhost', log_email=None): # Get modules for module in modules: exec('import %s' % module) # Load the root class if root is None: root_class = Root else: modules.insert(0, root) exec('import %s' % root) exec('root_class = %s.Root' % root) # Make folder try: mkdir(target) except OSError: raise ValueError('can not create the instance (check permissions)') # The configuration file config = template.format( modules=" ".join(modules), listen_port=listen_port or '8080', smtp_host=smtp_host or 'localhost', smtp_from=email, log_email=log_email) open('%s/config.conf' % target, 'w').write(config) # Create the folder structure database = make_database(target) mkdir('%s/log' % target) mkdir('%s/spool' % target) # Create a fake context context = get_fake_context(database) context.set_mtime = True # Make the root metadata = Metadata(cls=root_class) database.set_handler('.metadata', metadata) root = root_class(metadata) # Re-init context with context cls context = get_fake_context(context.database, root.context_cls) context.set_mtime = True # Init root resource root.init_resource(email, password) # Set mtime root.set_property('mtime', context.timestamp) context.root = root # Save changes context.git_message = 'Initial commit' database.save_changes() # Index the root catalog = database.catalog catalog.save_changes() catalog.close() # Bravo! print('*') print('* Welcome to ikaaro') print('* A user with administration rights has been created for you:') print('* username: %s' % email) print('* password: %s' % password) print('*') print('* To start the new instance type:') print('* icms-start.py %s' % target) print('*')
def setUp(self): self.metadata = Metadata(string=metadata_str)
def setUp(self): self.metadata = Metadata(string=metadata_str, cls=WebPage)
def test_good(self): metadata = Metadata(string=good_metadata, cls=OpenWebPage) prop = metadata.get_property('free_title') self.assertEqual(prop[0].value, 'bye')