Commons:コマンドライン・アップロード
ウィキメディア・コモンズに素材をアップロードするには、コマンドライン・ツールが利用できます。
ローカルファイルをアップロードするツール
スクリプト | 依存関係 | バッチ・アップロード | {{Information}} support |
---|---|---|---|
Nichalp's Upload Script | Perl | Yes | 7 licenses |
Anuta | Perl, Python and csv_creator.pl |
Yes | 7 licenses |
Simple Commons Uploader | Python | Yes | only Cc-by-sa-2.0 |
upload.py from Pywikibot | Python | No | none |
Nichalpさんのアップロード用スクリプト
Perl のスクリプトで特定のフォルダに収納したファイルをすべて CSV 形式に書き出します。説明、ライセンス要件、カテゴリ、緯度経度その他、なんでも情報を記入します。また対象の写真にw:ja:Exchangeable_image_file_format Exif データを付与でき、GPS データ、名称、ライセンス要件などのデータです。さらに加えて、作業中に画像を回転させたり改名したりできます。
- マニュアルとリンク(英語)
Wmigdaさんのアップロード用スクリプト
Nichalpさんのアップロード用スクリプトのPython版ですが、Nichalpさんの2つのPerlスクリプトのうちのひとつが生成する upload.csv ファイルに依存します。
必要条件:少なくともPerlおよびPython、ならびにNichalpさんの2つのスクリプトのうちひとつが必要で、詳細は解説文書をご参照ください
Fastilyさんのアップロード用スクリプト
基本情報およびカテゴリ(格納しているフォルダの名前によって決定される)と共に自分のコンピュータ上のフォルダ全体をアップロードすることができるPythonプログラム。
他のウェブサイトからアップロードするツール
Flickrripper は多量の画像を Flickr からウィキメディア・コモンズに楽にアップロードする Python の自由なプログラムです。プログラムそのものはmw:Manual:Pywikibot/flickrripper.py/ja に説明してあります。
Python ウィキペディア・ボット
Python のフレームワークにはファイルのアップロード用のさまざまなツールが含まれます。それらは Python とpywikibot フレームワークのインストールを受け、初めて作動します。実行前に個別のアップロードを検証するようでは、それはボット作業とは呼べません(下記のverifyDescription オプションをご参照ください。)
詳しい使用法は下記をご参照ください。
このツールのログイン方法は、設定ファイルに以下の指定をします。
family = 'commons' mylang = 'commons' usernames['commons']['commons'] = 'nick'
使用法:
- Upload.py - コモンズへのファイルのアップロードに使用。
- Imagecopy.py - ローカルのウィキにある画像をコモンズへ移動するため使用。
- Nowcommons.py - コモンズに転写した画像をローカルのウィキから削除するときに使用。
# -*- coding: utf-8 -*-
import sys
import pywikibot
from pywikibot.specialbots import UploadRobot
def complete_desc_and_upload(filename, pagetitle, desc, date, categories):
#complete this once if applies to all files
description = u"""{{Information
|Description = {{en|1=""" + desc + """}}
|Source = <!-- if applicable: {{own}} --->
|Author = <!-- your name: --->
|Date = """ + date + """
|Permission =
|other_versions =
}}
=={{int:license-header}}==
<!-- your license --->
""" + categories + """
[[Category:Taken with camera 123]]
"""
url = [ filename ]
keepFilename = False #set to True to skip double-checking/editing destination filename
verifyDescription = True #set to False to skip double-checking/editing description => change to bot-mode
targetSite = pywikibot.getSite('commons', 'commons')
bot = UploadRobot(url, description=description, useFilename=pagetitle, keepFilename=keepFilename, verifyDescription=verifyDescription, targetSite=targetSite)
bot.run()
def main(args):
#list each file here
filename = """testimage-1.jpg"""
pagetitle = """testimage-1-from asdfasdfa.jpg"""
desc = """Mount St Helens viewed from ... in the rain"""
date = "2010-04-07"
categories = """[[Category:Locality]]
[[Category:Theme]]
[[Category:View type]]
[[Category:Feature1]]
[[Category:Feature2]]"""
complete_desc_and_upload(filename, pagetitle, desc, date, categories)
#sample with: - local file name identical to file name at Commons
# - date as previous file
# - less quotes (no CR or " in fields)
filename = "testimage-2.jpg"
pagetitle = filename
desc = "Mount St Helens as seen from ... at sunset"
categories = "[[Category:Locality]] [[Category:Theme]] [[Category:View type]] [[Category:Feature1]] [[Category:Feature2]]"
complete_desc_and_upload(filename, pagetitle, desc, date, categories)
if __name__ == "__main__":
try:
main(sys.argv[1:])
finally:
pywikibot.stopme()
pywikipediabot 系のその他のツールは、multichill/bot および erfgoedbot をご参照ください。
BotClasses.php
ボットによっては、User:BrooklynMuseumBot のように BotClasses.php に依拠する PHP で書いてあります。