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)
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)
""" 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