This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This library provides a Django Storage for use Flickr in read and write operations.

With 1To free and a thumbnail system, Flickr is a quite good solution for store wide pictures in original format and retrieve them in smaller format

As Flickr is dedicated to photos/images, it is not a conventional object-storge, we consider all pics from all users in the same bucket but different directories. So what should a be directory path on other storages will be a user ID in this one.

Install

A classic ::

pip install flickr-pony

or:

git clone https://github.com/ZuluPro/flickr-pony.git
cd flickr-pony
python setup.py develop

It isn’t necessary to include data in settings.FLICKR_STORAGE_OPTIONS, and settings are explained below.

Settings

The storage can be configured with the following parameters, at instanciation or by set a dictionary named FLICKR_STORAGE_OPTIONS in your settings.py.

api_key : Findable at https://www.flickr.com/services/apps/create/apply/, it is the only one mandatory data for read operations.

api_secret : Given with the API KEY

oauth_token_secret : Oauth access token, not request token

oauth_token_secret : Oauth access token secret, not request secret

user_id : Your personal User ID, findable at your Flickr web page. It is the last part of URL example: 140893176@N07. This data is useful if you want to automatize action related to this user.

Info
Get all authentication info may be really long and boring, we advise you this page http://acme.com/flickr/authmap.html

Usage

This storage has a simple usage as define in Django Storage API plus others method for play more easily with pictures. You can list a user’s photos with:

>>> from flickr_pony.storage import FlickrStorage
>>> storage = FlickrStorage(api_key="myApiKey")
>>> storage.listdir('140893176@N07')
([], ['https://farm2.staticflickr.com/1586/25309081103_518e989396_o.jpg',
 'https://farm2.staticflickr.com/1623/25911906696_84c8cf31ae_o.jpg',
 'https://farm2.staticflickr.com/1617/25637193860_98a08d224f_o.jpg',
 ...
 'https://farm2.staticflickr.com/1671/25794942526_5b54c8a908_o.jpg',
 'https://farm2.staticflickr.com/1653/25820730145_4040532d03_o.jpg'])

It will return image in original if you are allowed to get it, but it could be too heavy for some usage, so you can use decide get it in “medium” format:

>>> storage.listdir('140893176@N07', original=False)
([], ['https://farm2.staticflickr.com/1586/25309081103_d132f2fa3f.jpg',
 ...
 'https://farm2.staticflickr.com/1623/25911906696_cee21c32be.jpg',
 'https://farm2.staticflickr.com/1653/25820730145_ef8db88e60.jpg'])

Or in “small” size:

>>> storage.listdir('140893176@N07', original=False, size='s')
([], ['https://farm2.staticflickr.com/1586/25309081103_d132f2fa3f.jpg',
 ...
 'https://farm2.staticflickr.com/1623/25911906696_cee21c32be.jpg',
 'https://farm2.staticflickr.com/1653/25820730145_ef8db88e60.jpg'])

For image gallery, you could also decide to list original and thumbnail:

>>> storage.list_image_and_thumb()
[('https://farm2.staticflickr.com/1586/25309081103_d132f2fa3f.jpg',
  'https://farm2.staticflickr.com/1586/25309081103_518e989396_o.jpg'),
...
 ('https://farm2.staticflickr.com/1623/25911906696_cee21c32be.jpg',
  'https://farm2.staticflickr.com/1623/25911906696_84c8cf31ae_o.jpg')]

Uploading and deleting are available:

>>> from django.core.files import File
>>> with open('myPic', 'rb') as img:
...     storage.save('picName', img)
    '25839776716'
>>> storage.delete('25839776716')

Demo

A demo project is available for testing and trying purpose, for use it:

git clone https://github.com/ZuluPro/flickr-pony-demo
cd flickr-pony-demo
pip install requirements.txt
cd demo_project
export FLICKR_API_KEY="YourFlickrApiKey" # Mandatory
# export FLICKR_USER_ID="YourFlickrUserId"
./manage runserver

You can also deploy it on Heroku:

Contributing

All contribution are very welcomed, propositions, problems, bugs and enhancement are tracked with GitHub issues system and patch are submitted via pull requests.

We use Travis coupled with Coveralls as continious integration tools.

Release History

Release History

0.5

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
flickr-pony-0.5.tar.gz (13.7 kB) Copy SHA256 Checksum SHA256 Source Jun 30, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting