Вікісховище:Завантаження через інтерфейс командного рядка

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
This page is a translated version of a page Commons:Command-line upload and the translation is 79% complete. Changes to the translation template, respectively the source language can be submitted through Commons:Command-line upload and have to be approved by a translation administrator.

Є можливість вантажити файли на Вікісховище за допомогою інструментів, що використовують інтерфейс командного рядка.

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 — вилучення зображень в локальній вікі, якщо вони вже є на Вікісховищі.
Приклад використання UploadRobot від pywikibot у власному скрипті
# -*- 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