예제 #1
0
def flickr_download_media(job):

    logging.info('flickr_download_media started for %s' % job)
    print "aregeuhktdjqhkdat"
    jobinfo = JobInfo.objects.get(id=job.arg)

    try:
        if jobinfo.status.startswith == 'Complete':
            # job finished previously
            return
        flickr = FlickrSearch()
        arg = simplejson.loads(jobinfo.arg)
        record = Record.objects.get(id=arg['record'], manager='flickr')
        url = arg['url']
        storage = flickr.get_storage()
        file = urllib2.build_opener(
            urllib2.ProxyHandler({"http": "http://localhost:3128"})).open(url)
        setattr(file, 'size', int(file.info().get('content-length')))
        mimetype = file.info().get('content-type')
        media = Media.objects.create(record=record,
                                     storage=storage,
                                     name=record.name,
                                     mimetype=mimetype)
        media.save_file(record.name + guess_extension(mimetype), file)
        jobinfo.complete('Complete', 'File downloaded')

    except Exception, ex:

        logging.info('flickr_download_media failed for %s (%s)' % (job, ex))
        jobinfo.update_status('Failed: %s' % ex)
예제 #2
0
def flickr_download_media(job):

    logging.info('flickr_download_media started for %s' % job)
    jobinfo = JobInfo.objects.get(id=job.arg)

    try:
        if jobinfo.status.startswith == 'Complete':
            # job finished previously
            return
        flickr = FlickrSearch()
        arg = simplejson.loads(jobinfo.arg)
        record = Record.objects.get(id=arg['record'], manager='flickr')
        url = arg['url']
        storage = flickr.get_storage()
        file = urllib2.urlopen(url)
        mimetype = file.info().get('content-type')
        media = Media.objects.create(record=record,
                                     storage=storage,
                                     name=record.name,
                                     mimetype=mimetype)
        # should be done better: loading file into StringIO object to make it
        # seekable
        file = StringIO(file.read())
        file = rotateImageBasedOnExif(file)
        media.save_file(record.name + guess_extension(mimetype), file)
        jobinfo.complete('Complete', 'File downloaded')

    except Exception, ex:
        logging.exception('flickr_download_media failed for %s' % job)
        jobinfo.update_status('Failed: %s' % ex)
예제 #3
0
""" FLICKR IS NOT IMPLEMENTED FULLY IN THE CURRENT VIC-MDID VERSION"""

import json
import urllib2
from rooibos.unitedsearch import *
#from searcher import *
from urllib import urlencode

from django.conf import settings
from rooibos.federatedsearch.flickr import FlickrSearch

name = "Flickr"
identifier = "flickr"

fed = FlickrSearch()
fed._licenses = {}


def search(term, params, off, len):
    if not term.strip():
        return Result(0, None)
    off = int(off)
    fs = fed.search(term,
                    page=int(off / len if len > 0 else 0) + 1,
                    pagesize=len)
    result = Result(fs["hits"], off + len if off + len < fs["hits"] else None)
    for i in fs["records"]:
        result.addImage(
            ResultImage(i["record_url"], i["thumb_url"], i["title"],
                        json.dumps(i)))
    return result