Вікісховище:Завантаження через інтерфейс командного рядка
Є можливість вантажити файли на Вікісховище за допомогою інструментів, що використовують інтерфейс командного рядка.
Tools to upload local files
Script | Dependencies | Batch upload | {{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-файл зі списком фотографій у папці. Введіть усю інформацію, таку як опис, ліцензія, категорія, широта, довгота тощо. Також додає деякі Exif-дані до фотографії, такі як GPS-дані, назва, ліцензія тощо. Крім того, можна також обертати і перейменовувати зображення на льоту.
Скрипт завантаження Wmigda
Python-версія скрипта завантаження Nichalp'а, але залежна від upload.csv-файлу, який генерується одним з двох Perl-скриптів Nichalp'а.
Вимога: щонайменше Perl і Python та один з двох скриптів Nichalp'а, див. документацію, щоб дізнатися подробиці.
Скрипт вивантаження Fastily
Програма на мові Python, яка може завантажувати цілі папки на вашому комп'ютері з основною інформацією та категорією (визначається за назвою вкладеної папки).
Tools to upload files from other websites
Flickrripper — вільна програма, що працює на Python, для легкого завантаження на Вікісховище великої кількості зображень з Flickr. Документація цієї програм зберігається на сторінці mw:Manual:Pywikibot/flickrripper.py.
Вікіпедійний бот, що працює на 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, написані на PHP на основі BotClasses.php