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 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
Esempio n. 3
0
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'])
Esempio n. 4
0
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
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