Для переводчиков на b3d
Материал из Blender3D.
[править]
Как быстро загрузить все изображения для статьи?
Наверняка вы сталкивались с ситуацией, когда у вас есть 20 изображений для статьи и вам нужно все их загрузить на wiki. Загружать по одной трудоемко и долго. На каждое изображение уходит от 30 секунд до минуты. И ваши 20 картиновк превращаются в 15 - 20 минут монотонной работы.
Как этого избежать?
Для оформления перевода книги Essential Blender Дмитрием Поверт был сделан скрипт для массовой загрузки изображений на wiki.
Для запуска и использования скрипта вам понадобится:
- Linux
- curl
- perl
media:mass_image_uploading_onto_wiki.zip
#!/usr/bin/perl
# made by Dmitry Povert
# povert<@>povert.org
# Нужно эти 4 переменные сконфигурировать ;)
my $LOGIN = 'ВАШ НИК НА WIKI';
my $PASSWORD = 'ВАШ ПАРОЛЬ НА WIKI';
# В этой папке должны лежать ТОЛЬКО файлы для загрузки!
my $IMAGES_DIR = '/home/gumanoed/tmp';
# Этот файлик можно потом будет удалить
my $COOKIE_SAVE_TO = '/home/gumanoed/tmp/mycookie.txt';
# Стандартное описание для всех картинок + я еще добавлю название файла в конце
my $STANDARD_DESCRIPTION = 'Illustracii dlya 3-i glavy Essential Blender';
########################################################
my $buf = ;
my $buf_esc = ;
# немного преобразуем...
$LOGIN =~ s|([^\w])|join('%', split(/([a-f\d][a-f\d])/, unpack("H2", $1)))|eg;
$PASSWORD =~ s|([^\w])|join('%', split(/([a-f\d][a-f\d])/, unpack("H2", $1)))|eg;
# логинимсо
print "LOGIN ATTEMPT...\n";
system("curl -c '$COOKIE_SAVE_TO' -d 'wpName=$LOGIN&wpPassword=$PASSWORD&wpRemember=1&wpLoginattempt=blabla' 'http://b3d.mezon.ru/index.php?title=\%D0\%A1\%D0\%BB\%D1\%83\%D0\%B6\%D0\%B5\%D0\%B1\%D0\%BD\%D0\%B0\%D1\%8F:Userlogin&returnto=\%D0\%A1\%D0\%BB\%D1\%83\%D0\%B6\%D0\%B5\%D0\%B1\%D0\%BD\%D0\%B0\%D1\%8F:Userlogin' > /dev/null");
# читаем все твои файлы и сразу их загружаем (может занять много времени) поэтому лучше попробовать сначала несколько файликов
print "LOGIN OK...\nREAD $IMAGES_DIR\n";
opendir(DQ, $IMAGES_DIR) or die "Can't open dir $IMAGES_DIR: $!\n";
while($buf = readdir(DQ)) {
if($buf !~ /^\./) {
print "UPLOADING $buf\n";
$buf_esc = $buf;
system("curl -b '$COOKIE_SAVE_TO' -F 'wpUploadFile=\@$IMAGES_DIR/$buf' -F 'wpDestFile=$buf' -F 'wpUploadDescription=$STANDARD_DESCRIPTION $buf' -F 'wpWatchthis=0' -F 'wpIgnoreWarning=0' -F 'wpUpload=ok' 'http://b3d.mezon.ru/index.php/\%D0\%A1\%D0\%BB\%D1\%83\%D0\%B6\%D0\%B5\%D0\%B1\%D0\%BD\%D0\%B0\%D1\%8F:Upload' > /dev/null");
}
}
closedir DQ;

