Commons:Téléversement en ligne de commande

This page is a translated version of a page Commons:Command-line upload and the translation is 90% 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.

Il est possible d'effectuer des téléversements vers Wikimedia Commons en utilisant des outils en ligne de commande.

Script Dépendances 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

Script de téléversement de Nichalp

Un script Perl qui crée un fichier CSV avec la liste des photos présentes dans un dossier. Renseigne toutes les informations, telles que la description, la licence, la catégorie, la latitude, la longitude etc. Intègre également certaines données Exif issues de la photo telle que les données GPS, le nom, la licence, etc. De plus, vous pouvez également faire pivoter et renommer les images à la volée.

Script de téléversement de Wmigda

Une version du script de téléversement de Nichalp mais qui dépend du fichier upload.csv généré par l'en des deux scripts Perl de Nichalp.

Prérequis : au moins Perl et Python, l'un des deux scripts de Nichalp, consulter la documentation pour plus d'informations

Le script de téléversement de Fastily

Un programme Python qui peu téléverser des dossiers entiers de votre ordinateur avec des informations basiques et une catégorie (déterminée par le nom du dossier contenant les fichiers).

Outils pour téléverser des fichiers depuis d'autres sites web

Flickrripper

Flickrripper est un programme libre Python pour téléverser facilement de grandes quantités d'images depuis Flickr vers Wikimedia Commons. La documentation du programme est disponible sur mw:Manual:Pywikibot/flickrripper.py.

Bot "Python Wikipedia"

Le framework python comprend divers outils de téléversement de fichiers. Ces outils nécessitent l'installation préalable des frameworks python et pywikibot. Si chaque fichier est vérifié avant d'être téléversé (cf. l'option "verifyDescription" décrite plus bas), il n'est pas nécessaire d'utiliser un bot.

Instructions détaillées pour son utilisation (en anglais) :

Pour pouvoir vous identifier avec cet outil, votre fichier de configuration doit comporter les réglages suivants.

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

Utilisation :

  • Upload.py - pour téléverser des fichiers sur Commons.
  • Imagecopy.py - transfert d'images depuis un wiki local vers Commons.
  • Nowcommons.py - suppression d'images sur un wiki local en doublon d'images déjà présentes sur Commons.
Exemple d'utilisation de l'outil UploadRobot de pywikibot dans votre propre script
# -*- 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()

Pour voir d'autres outils basés sur pywikipediabot, veuillez consulter les pages multichill/bot et erfgoedbot.

BotClasses.php

Certains bots, comme User:BrooklynMuseumBot, ont été écrits en PHP en s'appuyant sur le fichier BotClasses.php