def extract(filename): """Extract the metadata from the media file""" from hachoir_parser.guess import createParser from hachoir_metadata.metadata import extractMetadata from hachoir_core.error import HachoirError from hachoir_core.stream import InputStreamError filename = unicode(filename) try: parser = createParser(filename) except InputStreamError, err: logger.warning("Stream error! %s" % unicode(err)) return None
def retrieveThumbnail(object, event): """ """ if object.getImage(): return video_site = urlparse(object.getRemoteVideoURL())[1].replace('www.', '') try: adapter = getMultiAdapter((object, object.REQUEST), IVideoEmbedCode, name=video_site) except ComponentLookupError: return try: thumb_obj = adapter.getThumb() except NotImplementedError: """ This means that we are using a plugin not implementing getThumb. The fallback it's on the base adapter that raise the exception. """ return try: if PLONE4: response = urllib2.urlopen(thumb_obj.url, timeout=DEFAULT_TIMEOUT) else: response = urllib2.urlopen(thumb_obj.url) except urllib2.HTTPError as e: logger.warning( 'Thumbnail not saved. Unable to retrieve thumbnail from %s for %s: %s - %s' % (thumb_obj.url, "/".join(object.getPhysicalPath()), e.code, e.msg)) return object.setImage(response.read()) field = object.getField('image') field.setContentType(object, thumb_obj.content_type) field.setFilename(object, thumb_obj.filename) object.reindexObject(idxs=['hasSplashScreenImage'])
def retrieveThumbnail(object, event): """ """ if object.getImage(): return video_site = urlparse(object.getRemoteVideoURL())[1].replace('www.', '') try: adapter = getMultiAdapter((object, object.REQUEST), IVideoEmbedCode, name=video_site) except ComponentLookupError: return try: thumb_obj = adapter.getThumb() except NotImplementedError: """ This means that we are using a plugin not implementing getThumb. The fallback it's on the base adapter that raise the exception. """ return try: if PLONE4: response = urllib2.urlopen(thumb_obj.url, timeout=DEFAULT_TIMEOUT) else: response = urllib2.urlopen(thumb_obj.url) except urllib2.HTTPError as e: logger.warning('Thumbnail not saved. Unable to retrieve thumbnail from %s for %s: %s - %s' % (thumb_obj.url, "/".join(object.getPhysicalPath()), e.code, e.msg)) return object.setImage(response.read()) field = object.getField('image') field.setContentType(object, thumb_obj.content_type) field.setFilename(object, thumb_obj.filename) object.reindexObject(idxs=['hasSplashScreenImage'])
def extract(filename): """Extract the metadata from the media file""" from hachoir_parser.guess import createParser from hachoir_metadata.metadata import extractMetadata from hachoir_core.error import HachoirError from hachoir_core.stream import InputStreamError filename = unicode(filename) try: parser = createParser(filename) except InputStreamError, err: logger.warning("Stream error! %s" % unicode(err)) return None if not parser: logger.warning("Unable to create parser.") return None try: metadata = extractMetadata(parser) except HachoirError, err: logger.warning("Stream error! %s" % unicode(err)) return None if metadata is None: logger.warning("unable to extract metadata.") return None return metadata