def imageGoto(self, toNext): catalog = getToolByName(self, 'portal_catalog') inner = self.context.aq_inner parent = inner.aq_parent parent_path = parent.getPhysicalPath() parent_url = '/'.join(parent_path) results = catalog.searchResults(path = {'query' : parent_url,'depth' : 1 }, sort_on = 'getObjPositionInParent',portal_type = ('Image', 'File')) current = self.context.absolute_url() prev = None next = None found = False for item in results: if not found: if item.getURL() == current: found = True else: prev = item.getURL() else: if IFlowPlayable.providedBy(item.getObject()) or item.portal_type == 'Image': next = item.getURL() break if toNext: if next is None: return None else: return next + '/view' else: if prev is None: return None else: return prev + '/view'
def isVideo(self, content): if IFlowPlayable.providedBy(content): return True extension = content.id[-3:] return (extension == "mov" or extension == "avi" or extension == "mp4" or extension == "m4v")
def getFolderImages(self, folderItem): catalog = getToolByName(self, "portal_catalog") physicalPath = folderItem.getPhysicalPath() folderURL = "/".join(physicalPath) catResults = catalog.searchResults( path={"query": folderURL, "depth": 1}, sort_on="getObjPositionInParent", portal_type=("Image", "File") ) results = [] for item in catResults: if (item.portal_type == "Image") or ( item.portal_type == "File" and IFlowPlayable.providedBy(item.getObject()) ): results.append(item) return results
def videos(self): catalog = getToolByName(self.context, 'portal_catalog') results = [] for brain in self._query(): video = brain.getObject() if not IFlowPlayable.providedBy(video): continue view = component.getMultiAdapter( (video, self.request), interface.Interface, 'v2_flowplayer') results.append(dict(url=view.href(), title=brain.Title, description=brain.Description, height=view.height, width=view.width, audio_only=view.audio_only())) return results
def videos(self): results = [] for brain in self._query(): video = brain.getObject() if not IFlowPlayable.providedBy(video): continue view = component.getMultiAdapter( (video, self.request), interface.Interface, 'flowplayer') # need to unquote the href because it gets quoted client side results.append(dict(url=urllib.unquote(view.href()), title=brain.Title, description=brain.Description, height=view.height, width=view.width, audio_only=view.audio_only())) return results
def videos(self): results = [] for brain in self._query(): video = brain.getObject() if not IFlowPlayable.providedBy(video): continue view = component.getMultiAdapter((video, self.request), interface.Interface, 'flowplayer') # need to unquote the href because it gets quoted client side results.append( dict(url=urllib.unquote(view.href()), title=brain.Title, description=brain.Description, height=view.height, width=view.width, audio_only=view.audio_only())) return results
def isVideo(self, item): result = IFlowPlayable.providedBy(item) return result
def isVideo(self, item): if FLOWPLAYER_EXISTS: result = IFlowPlayable.providedBy(item) else: result = False return result