Entropia:Uploaden: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
Keine Bearbeitungszusammenfassung
(Batch-Import)
Zeile 1: Zeile 1:
== HTTP-Upload ==
Hier ein Skript, um eine Datei ins Wiki zu tun.
Hier ein Skript, um eine Datei ins Wiki zu tun.


Zeile 39: Zeile 41:


</pre>
</pre>
== Batch-Import ==
Wer größere Dateien ins Wiki importieren möchte, sollte einen Account auf <code>luffa.bl0rg.net</code> und sudo für <code>www-entropia</code> haben (ggf. bei [[Neingeist]] melden) und kann dann [http://www.mediawiki.org/wiki/Manual:ImportImages.php importImages.php] benutzen:
sudo -u www-entropia php ./maintenance/importImages.php --conf=./LocalSettings.php --comment="[[Kategorie:GPN12]]" --user="Meinuser" --skip-dupes --sleep=60 /var/tmp/gpn12

Version vom 23. November 2012, 18:15 Uhr

HTTP-Upload

Hier ein Skript, um eine Datei ins Wiki zu tun.

#!/usr/bin/perl
# Upload a file to a recent MediaWiki using the API.

use strict;
use MediaWiki::API 0.39;

my $wikiuser = $ARGV[0];
my $wikipass = $ARGV[1];
my $file     = $ARGV[2];
my $comment  = $ARGV[3];

# usage
if (!defined($comment)) {
  print "Usage: $0 <wikiuser> <wikipass> <file> <comment>\n";
  exit;
}

# log in to the wiki
my $mw = MediaWiki::API->new();
$mw->{config}->{api_url} = 'https://entropia.de/wiki/api.php';
$mw->login( { lgname => $wikiuser, lgpassword => $wikipass } )
  || die $mw->{error}->{code} . ': ' . $mw->{error}->{details};

# upload file
open FILE, $file or die $!;
binmode FILE;
my ($buffer, $data);
while ( read(FILE, $buffer, 65536) )  {
  $data .= $buffer;
}
close(FILE);

$mw->upload( { title => $file,
               summary => $comment,
               data => $data } ) || die $mw->{error}->{code} . ': ' . $mw->{error}->{details};

Batch-Import

Wer größere Dateien ins Wiki importieren möchte, sollte einen Account auf luffa.bl0rg.net und sudo für www-entropia haben (ggf. bei Neingeist melden) und kann dann importImages.php benutzen:

sudo -u www-entropia php ./maintenance/importImages.php --conf=./LocalSettings.php --comment="" --user="Meinuser" --skip-dupes --sleep=60 /var/tmp/gpn12