def test_interfaces_uninstall(self): from collective.flowplayer import uninstall from collective.flowplayer.events import ChangeFileView from collective.flowplayer.interfaces import IAudio self.portal.invokeFactory(id='file', type_name='File') fileOb = self.portal.file class FakeEvent(object): def __init__(self, object): self.object = object handler = ChangeFileView(fileOb, FakeEvent(fileOb)) handler.handleAudio() self.assertTrue(IAudio.providedBy(fileOb)) uninstall.interfaces(self.portal) self.assertFalse(IAudio.providedBy(fileOb))
def remove_marker(object): changed = False if IAudio.providedBy(object): noLongerProvides(object, IAudio) changed = True if IVideo.providedBy(object): noLongerProvides(object, IVideo) changed = True if changed: object.reindexObject(idxs=['object_provides'])
def _view(self): context_here = aq_inner(self.context) traverse_view = context_here.restrictedTraverse if HAS_FLOWPLAYER and (IVideo.providedBy(self.context) or IAudio.providedBy(self.context)): return traverse_view('flowplayer') elif not self.embedcode(): link = traverse_view('link_redirect_view') return link() else: return self.index()
def gallery(self): queried_objects = list(self.context.listFolderContents()) queried_objects = sorted(queried_objects, sort_by_position) result = {'gallery':[],'sound':[]} for obj in queried_objects: ptype = obj.portal_type if ptype == 'Image' or (ptype == 'Embed media' and obj.getMediaType() == '0') or (ptype in ['File', 'Link'] and IVideo.providedBy(obj)): result['gallery'].append(obj) if (ptype == 'Embed media' and obj.getMediaType() == '1') or (ptype in ['File', 'Link'] and IAudio.providedBy(obj)) : result['sound'].append(obj) return result
def audio_only(self, item): result = IAudio.providedBy(item) return result
def isAudio(self, content): return IAudio.providedBy(content)
def handleAudio(self): if not IAudio.providedBy(self.content): alsoProvides(self.content, IAudio) self.object.reindexObject(idxs=['object_provides'])