コード例 #1
0
ファイル: threads.py プロジェクト: chinnurtb/1337.org
 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)
コード例 #2
0
ファイル: facebook_api.py プロジェクト: sainteye/proto
    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
コード例 #3
0
ファイル: handlers.py プロジェクト: gage/proto
    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
コード例 #4
0
ファイル: models.py プロジェクト: gage/proto
    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 {}
コード例 #5
0
ファイル: models.py プロジェクト: gage/proto
    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 {}
コード例 #6
0
ファイル: models.py プロジェクト: gage/proto
    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 {}