def run(self): while True: (img_url, photo) = self.Pool.get() try: get_picture_from_url(img_url, update_photo=photo) except: pass self.Pool.task_done() print 'Download Photo from %s to %s'%(img_url, photo)
def connect(self, username=None): """ Gets or creates a user associated with this facebook ID. Also serves to update the user's facebook access token. Returns: User, created: User object for this access token, True or False if the User was newly created. """ if not self.is_authenticated(): raise FacebookNotAuthenticated("A valid access token is required.") created = False fb_profile = self.get_profile() local_fb_profile = self.get_local_profile() user = None # Existing user, already connected if local_fb_profile: user = local_fb_profile.user if not user: # New user, or first FB connect try: user = User.objects.get(email=fb_profile["email"]) except User.DoesNotExist: user = User(username=self._generate_unique_username(fb_profile), email=fb_profile["email"]) user.set_password(self._generate_fake_password()) created = True if not user.first_name: user.first_name = fb_profile["first_name"] if not user.last_name: user.last_name = fb_profile["last_name"] user.save() up = user.get_profile() if not up.full_name: up.full_name = fb_profile["name"] if not up.has_set_photo(): photo = get_picture_from_url(fb_profile["image"]) up.main_profile_pic = photo up.save() if not local_fb_profile: self.create_local_profile(user) return user, created
def create(self, request, raw=False, **kwargs): """ Uploads a new photo. """ title = request.CLEANED.get('title', '') description = request.CLEANED.get('description', '') if request.CLEANED['url']: photo = get_picture_from_url(request.CLEANED['url']) elif request.CLEANED['file64']: photo = request.CLEANED['photo'] else: if request.CLEANED['file']: uploaded_file = request.CLEANED['file'] format = request.CLEANED['format'] photo = Photo(user=request.user, title=title, description=description) photo.image.save("%s.%s" % (uuid.uuid4(), format), uploaded_file) photo.save() uploaded_file.close() return photo.to_json(request=request, detail=request.CLEANED['detail']) if not raw else photo
def get_photo(self): if self.photo: return self.photo.to_json() else: from photos.models import Photo # Has not processed photo -> fetch it from foursquare if not self.has_processed_photo: picture_url = self.picture_url if not picture_url: pass else: self.photo = get_picture_from_url(picture_url) if self.photo: self._pp = True self.__class__.objects.filter(id=self.id).update(photo=self.photo.id, _pp=True) return self.photo.to_json() photo = None if photo: return photo[0].to_json() else: return {}
def get_photo(self): if self.photo: return self.photo.to_json() else: from photos.models import Photo # Has not processed photo -> fetch it from foursquare if not self.has_processed_photo: cover_url = self.cover_url(size='500x500') if not cover_url: pass else: self.photo = get_picture_from_url(cover_url) if self.photo: self._pp = True self.__class__.objects.filter(id=self.id).update(photo=self.photo.id, _pp=True) return self.photo.to_json() photo = Photo.objects.filter(all_default=True) if photo: return photo[0].to_json() else: return {}
def get_photo(self): if self.photo: return self.photo.to_json() else: from photos.models import Photo # Has not processed photo -> fetch it from foursquare if not self.has_processed_photo: fs_photo = self.fs_photo if not fs_photo: pass else: image_url = fs_photo['prefix'] + 'original' + fs_photo['suffix'] self.photo = get_picture_from_url(image_url) if self.photo: self._pp = True self.__class__.objects.filter(id=self.id).update(photo=self.photo.id, _pp=True) return self.photo.to_json() photo = Photo.objects.filter(restaurant_default=True) if photo: return photo[0].to_json() else: return {}