Manual:Pywikibot/flickrripper.py

Flickrripper is a free Python program for easy upload of large numbers of images from Flickr to Wikimedia Commons. The program is part of Pywikipedia and is currently in pre-alpha state. The tool was requested by some on Commons:Batch uploading/Flickr images by user.

Installation
Flickrripper is part of Pywikipedia. You first need to install pywikipedia. At Using the python wikipediabot you can find a manual on how to install pywikipedia. SVN install is recommended.
 * Pywikipedia

We need to install 2 more packages. For this we need setuptools. You can download the latest version at http://pypi.python.org/pypi/setuptools
 * Easy install

Python Image Library (PIL) is used to show the image. You can install it by running the command at a command prompt:
 * Python Image Library

The Python Flickrapi kit is used to communicate with the Flickr api. You can install it by running the command at a command prompt:
 * Flickrapi kit


 * TkInter
 * You can install this library with your usual package manager; don't forget the   package.

You need a valid Flickr API key to run this program. You can apply for a key here. Apply for a Non-Commercial API Key.
 * Flickr API key

If you recently installed pywikipedia your user-config.py contains a flickr section, otherwise you have to add it to user-config.py yourself. Edit user-config.py with your favorite text editor. flickr = { 'api_key': 'YOUR_API_KEY', # Provide your key! 'api_secret': 'YOUR_API_SECRET', # Provide your secret! 'review': False, # Do we use automatically make our uploads reviewed? (True or False) 'reviewer': 'REVIEWER_NAME', # If so, under what reviewer name? }
 * Configuration
 * 1) Using the Flickr api
 * api_key : Provide your Flickr API key.
 * review : If you want to mark all images as review automatically. Use "True" only if you have a reviewer or sysop flag on Commons!
 * reviewer : Add your username here if you want to mark images as reviewed by you.

Usage
To run Flickrripper you have to browse to the Pywikipedia folder. Then type the following:

with some of the various following options; the necessary ones are bolded.

Notes:
 * the script never uploads duplicate files (identified with their hash);
 * unless the files you're uploading all have title, description etc., edit the script to add a "prefix" to the filenames: look for the   line, replace "Flickr" with your filename prefix in  (can be e.g. the name of the category you're using).

Options to tell what images to work on: Options to tell how to work on each image:
 * One of the following:
 * -group_id - The id of the Flickr group to work on. Works on all images in a group.
 * -photoset_id - The id of the Flickr set to work on. Works on all images in a set.
 * -user_id - The id of the user to work. Works on all images uploaded by a user. Username is not an id! For example, id for user The Library of Congress is 8623220@N02 (you can find it here).
 * One or both of:
 * -start_id - Start at the photo with this id (useful for resuming uploads). Use this in combination with -group_id/-photoset_id/-user_id.
 * -end_id - Stop at the photo with this id (useful if you just want to do a part of the upload and later resume with -start_id).
 * 1) -tags - Filter out a certain tag (only one at the moment, will be changed to support multiple tags).
 * 2) -flickrreview - Mark as flickrreviewed, this overrides the settings in your user-config.py.
 * 3) -reviewer - Set the reviewer for flickrreview, this overrides the settings in your user-config.py.
 * 4) -override - Remove the licensing part and replace it with something custom. Can be used for transfering copyrighted photo's for which you have OTRS permission. Use with care!
 * 5) -removecategories - Don't add categories from automatic suggestions.
 * 6) -addcategory - Manually add a category, which you will be asked for after launching and will not be shown in the description in the confirmation dialog (does not yet support multiple categories).
 * 7) -autonomous - For autonomous uploading without showing of each image. Use with care!

Syntax:

Troubleshooting
Traceback (most recent call last): File "flickrripper.py", line 41, in    from PIL import Image, ImageTk    # see: http://www.pythonware.com/products/pil/ ImportError: No module named PIL

You can fix this by manually PIL installation (not by easy_install).