def enable_quota_subsystem(self): """Enable quota sub-system. """ if self._quota_enabled: return False root = self.get_root() # Setup metadata for quota schema = os.path.join(os.path.dirname(__file__), 'schema') collection = root.service_metadata.getCollection() if 'silva-quota' in collection.objectIds(): collection.manage_delObjects(['silva-quota']) xml_file = os.path.join(schema, 'silva-quota.xml') with open(xml_file, 'r') as fh: collection.importSet(fh) setids = ('silva-quota', ) types = [ c['name'] for c in extensionRegistry.get_contents(requires=[IPublication]) ] root.service_metadata.addTypesMapping(types, setids) root.service_metadata.initializeMetadata() root.used_space = compute_used_space(root) self._quota_enabled = True self._quota_verify = True return True
def enable_quota_subsystem(self): """Enable quota sub-system. """ if self._quota_enabled: return False root = self.get_root() # Setup metadata for quota schema = os.path.join(os.path.dirname(__file__), 'schema') collection = root.service_metadata.getCollection() if 'silva-quota' in collection.objectIds(): collection.manage_delObjects(['silva-quota']) xml_file = os.path.join(schema, 'silva-quota.xml') with open(xml_file, 'r') as fh: collection.importSet(fh) setids = ('silva-quota',) types = [c['name'] for c in extensionRegistry.get_contents(requires=[IPublication])] root.service_metadata.addTypesMapping(types, setids) root.service_metadata.initializeMetadata() root.used_space = compute_used_space(root) self._quota_enabled = True self._quota_verify = True return True
def _prepare_query(self, meta_types=None, public_only=True): """private method preparing the common fields for a catalog query. Return: dict holding the query parameters """ query = {} query['path'] = map(lambda s: "/".join(s), self._get_sources_path()) if public_only: query['publication_status'] = 'public' service = getUtility(IServiceNews) query['subjects'] = { 'query': self._collect_subjects(service), 'operator': 'or'} query['target_audiences'] = { 'query': self._collect_target_audiences(service), 'operator': 'or'} if not meta_types: meta_types = map( operator.itemgetter('name'), extensionRegistry.get_contents( **self.get_allowed_types())) query['meta_type'] = meta_types query['sort_on'] = 'sort_index' query['sort_order'] = 'descending' return query
def configure_metadata(service, event): # load up the default metadata schema = os.path.join(os.path.dirname(__file__), 'schema') metadata_sets_types = [ (('silva-content', 'silva-extra', 'silva-settings'), ('Silva Folder', 'Silva File', 'Silva Image', 'Silva Root', 'Silva Publication', 'Silva Indexer', 'Silva AutoTOC', 'Silva Link Version')), (('silva-layout', ), ('Silva Root', 'Silva Publication')) ] collection = service.getCollection() ids = collection.objectIds() for metadata_sets, types in metadata_sets_types: for metadata_set in metadata_sets: if metadata_set in ids: collection.manage_delObjects([metadata_set]) xml_file = os.path.join(schema, "%s.xml" % metadata_set) with open(xml_file, 'r') as fh: collection.importSet(fh) service.addTypesMapping(types, metadata_sets) service.addTypesMapping(('Silva Ghost Folder', 'Silva Ghost Version'), ('', )) if 'silva-quota' in ids: # If you reconfigure the site, refresh the silva-quota # metadata set if required. collection.manage_delObjects(['silva-quota']) xml_file = os.path.join(schema, 'silva-quota.xml') with open(xml_file, 'r') as fh: collection.importSet(fh) service.addTypesMapping([ c['name'] for c in extensionRegistry.get_contents(requires=[IPublication]) ], ('silva-quota', )) service.initializeMetadata() # Set the default skin root = service.get_root() current_skin = service.getMetadataValue(root, 'silva-layout', 'skin') if not current_skin: binding = service.getMetadata(root) binding.setValues('silva-layout', {'skin': 'Standard Issue'})
def configure_metadata(service, event): # load up the default metadata schema = os.path.join(os.path.dirname(__file__), 'schema') metadata_sets_types = [ (('silva-content', 'silva-extra', 'silva-settings'), ('Silva Folder', 'Silva File', 'Silva Image', 'Silva Root', 'Silva Publication', 'Silva Indexer', 'Silva AutoTOC', 'Silva Link Version')), (('silva-layout',), ('Silva Root', 'Silva Publication'))] collection = service.getCollection() ids = collection.objectIds() for metadata_sets, types in metadata_sets_types: for metadata_set in metadata_sets: if metadata_set in ids: collection.manage_delObjects([metadata_set]) xml_file = os.path.join(schema, "%s.xml" % metadata_set) with open(xml_file, 'r') as fh: collection.importSet(fh) service.addTypesMapping(types, metadata_sets) service.addTypesMapping( ('Silva Ghost Folder', 'Silva Ghost Version'), ('', )) if 'silva-quota' in ids: # If you reconfigure the site, refresh the silva-quota # metadata set if required. collection.manage_delObjects(['silva-quota']) xml_file = os.path.join(schema, 'silva-quota.xml') with open(xml_file, 'r') as fh: collection.importSet(fh) service.addTypesMapping( [c['name'] for c in extensionRegistry.get_contents(requires=[IPublication])], ('silva-quota',)) service.initializeMetadata() # Set the default skin root = service.get_root() current_skin = service.getMetadataValue(root, 'silva-layout', 'skin') if not current_skin: binding = service.getMetadata(root) binding.setValues('silva-layout', {'skin': 'Standard Issue'})
def getContentTypes(self): if not hasattr(aq_base(self), '_v_content_types'): self._v_content_types = list( map(operator.itemgetter('name'), extensionRegistry.get_contents())) return self._v_content_types
def getContentTypes(self): if not hasattr(aq_base(self), '_v_content_types'): self._v_content_types = map( operator.itemgetter('name'), extensionRegistry.get_contents()) return self._v_content_types