Commons:Hochladen per Kommandozeile

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 100% 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.

Es ist möglich, mit Hilfe von Kommandozeilen-Tools nach Wikimedia Commons hochzuladen.

Tools zum Hochladen lokaler Dateien

Skript Abhängigkeiten Batch-Upload {{Information}}-Unterstützung
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

Hochlade-Skript von Nichalp

Ein Perl-Skript, das eine CSV-Datei mit der Liste der Fotos in einem Ordner erstellt. Gib alle Informationen wie Beschreibung, Lizenz, Kategorie, Breitengrad, Längengrad usw. ein. Bettet auch bestimmte Exif-Daten wie GPS-Daten, Name, Lizenz usw. in das Foto ein. Darüber hinaus kannst du das Foto auch on-the-fly drehen und umbenennen.

Hochlade-Skript von Wmigda

Eine Python-Version von Nichalps Hochlade-Skript, aber das hängt von der upload.csv-Datei ab, die eines von Nichalps zwei Perl-Skripten generiert.

Anforderung: Mindestens Perl und Python und eines der beiden Skripte von Nichalp, siehe Dokumentation für weitere Details

Hochlade-Skript von Fastily

Ein Python-Programm, das ganze Verzeichnisse auf deinen Computer mit Basisinformationen und einer Kategorie (bestimmt durch den Namen des übergeordneten Verzeichnisse) hochladen kann.

Tools zum Hochladen von Dateien von anderen Websites

Flickrripper

Flickrripper ist ein freies Python-Programm zum einfachen Hochladen einer großen Anzahl von Bildern von Flickr nach Wikimedia Commons. Das Programm ist in mw:Manual:Pywikibot/flickrripper.py dokumentiert.

Python Wikipedia-Bot

Das Python-Framework umfasst verschiedene Tools zum Hochladen von Dateien. Diese Tools erfordern die Installation von Python und des pywikibot-Frameworks. Wenn jede hochzuladende Datei vor dem Hochladen überprüft wird (siehe verifyDescription-Option unten), wird er nicht als Bot betrachtet.

Für detaillierte Informationen über seine Verwendung:

Um sich mit diesem Tool anzumelden, benötigt deine Konfigurationsdatei die folgenden Einstellungen.

family = 'commons'
mylang = 'commons'
usernames['commons']['commons'] = 'nick'

Verwendung:

  • Upload.py - um Dateien nach Commons hochzuladen
  • Imagecopy.py - Bildübertragung vom lokalen Wiki nach Commons
  • Nowcommons.py - Bild löschen im lokalen Wiki, das bereits auf Commons ist
Beispiel mit pywikibot's UploadRobot in deinem eigenen Skript
# -*- 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()

Für andere Tools, die auf pywikipediabot basieren, siehe multichill/bot und erfgoedbot.

BotClasses.php

Einige Bots, wie User:BrooklynMuseumBot, wurden in PHP geschrieben, basierend auf BotClasses.php.