Entropia:Uploaden

aus dem Wiki des Entropia e.V., CCC Karlsruhe

HTTP-Upload

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

NICHT MEHR DIE EMPFOHLENE VARIANTE, BESONDERS FÜR GROSSE FILES

#!/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