手册:Pywikibot/flickrripper.py
维基媒体的Git版本库内有此文件: scripts/flickrripper.py |
flickrripper is a Pywikibot script for easy upload of large numbers of images from Flickr to Wikimedia Commons.
它目前处于pre-alpha状态。
Commons:Batch uploading/Flickr images by user上的一些人要求使用此工具。
安裝
Flickrripper是Pywikibot的一部分。您首先需要安装pywikibot。您可以在使用python pywikibot找到有关如何安装pywikibot的手册
建议使用GIT或夜间安装。
安装pywikibot后,可能需要安装另外三个Python软件包。
简单安装
要使用“Easy install”安装额外的软件包,请安装最新版本的setuptools,可以从http://pypi.python.org/pypi/setuptools下载。
- Python Image Library
Python Image Library (PIL) is used to show the image.
You can install it by running the command at a command prompt:
$ easy_install PIL
或
$ pip install --user pillow
- Flickrapi kit
The Python Flickrapi kit is used to communicate with the Flickr api.
您可以通过在命令提示符下运行命令来安装它:
$ pip install --user "flickrapi>=1.4.5,<2"
- TkInter
- 您可以使用常用的包管理器安装[[1] 此库];不要忘记
python-imaging-tk
包。
pip
All of the extra packages may be installed at once using pip
, using whatever permissions you have, with:
$ pip install --user "flickrapi>=1.4.5,<2" pillow
Flickr身份验证
- Flickr API密钥
您需要有效的Flickr API密钥才能运行此程序。你可以在这里申请一把非商业API密钥。
- Configuration
Edit user-config.py with your favorite text editor, and add the following in it.
# Using the Flickr api
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?
}
- 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.
Now you'll be requested to login on your first run of the script, to confirm the application.
The text login doesn't work (needs JavaScript), preventing logging in using a terminal (such as Tool Labs).
It is better to run flickrripper.py
on your home computer so that the confirmation form is opened in your standard browser.
用法
To run Flickrripper you have to browse to the Pywikibot folder. Then type the following:
$ python pwb.py flickrripper
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
getFilename
line, replace "Flickr" with your filename prefix inproject='Flickr'
(can be e.g. the name of the category you're using).
Options to tell what images to work on:
- 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).
Options to tell how to work on each image:
- -tags - Filter out a certain tag (only one at the moment, will be changed to support multiple tags).
- -flickrreview - Mark as flickrreviewed, this overrides the settings in your user-config.py.
- -reviewer - Set the reviewer for flickrreview, this overrides the settings in your user-config.py.
- -override - Remove the licensing part and replace it with something custom. Can be used for transferring copyrighted photo's for which you have OTRS permission. Use with care!
- -removecategories - Don't add categories from automatic suggestions.
- -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, but you can pass multiple as if they were one only, like this:
FirstCategory]][[Category:SecondCategory
. - -autonomous - For autonomous uploading without showing of each image. Use with care!
Syntax:
$ python pwb.py flickrripper -user_id:8623220@N02 -removecategories -addcategory
故障排除
Traceback (most recent call last): File "flickrripper.py", line 41, in <module> from PIL import Image, ImageTk # see: http://www.pythonware.com/products/pil/ ImportError: No module named PIL