def filesByType(self): """Return a dictionary which contains the files in this workspace that don't belong to a post, where the keys are their file types.""" groupHeaders = {} catalog = component.getUtility(ICatalog) intids = component.getUtility(IIntIds) for f in self.files: relations = [x for x in catalog.findRelations({ 'to_id': intids.getId(f), 'from_interfaces_flattened': IThreaded, })] if relations or f.fileData is None: continue auto_select_media_type(f) if not f.rmMediaType in groupHeaders: groupHeaders[f.rmMediaType] = { 'label': mediaTypesVocabulary.by_value[f.rmMediaType].title, 'files': [f], } else: groupHeaders[f.rmMediaType]['files'].append(f) return groupHeaders.values()
def test_media_type_auto_selection_already_set_invalid(self): obj = MockRichFile(None, 'invalid') richmetadata.auto_select_media_type(obj) self.assertEqual(obj.rmMediaType, richmetadata.DEFAULT_MEDIA_TYPE)
def test_media_type_auto_selection_already_set_valid(self): obj = MockRichFile(None, 'document') richmetadata.auto_select_media_type(obj) self.assertEqual(obj.rmMediaType, 'document')
def test_media_type_auto_selection_no_mime_type(self): obj = MockRichFile() richmetadata.auto_select_media_type(obj) self.assertEqual(obj.rmMediaType, richmetadata.DEFAULT_MEDIA_TYPE)
def test_media_type_auto_selection(self): for mime_type, media_type in richmetadata.media_type_mappings.items(): obj = MockRichFile(mime_type) richmetadata.auto_select_media_type(obj) self.assertEqual(obj.rmMediaType, media_type)