суббота, 21 февраля 2015 г.

Загрузка на яфотки из консоли конвеером.

Раз уж ярушечка накрылась, то перенесу сюда о фотках из архива
Ссылку с сохранными файлами ребята тоже упрятали т.е. webdav-ом не найти.
















Сама идея загрузки python2

из README порядок действия такой:

1. Загрузка самого python скрипта.

cd /tmp &&  git clone https://github.com/svetlyak40wt/yafotkiuploader
cd /tmp/yafotkiuploader/

2. установка зависимостей велосипедом (с python3 не взлетит). 

python2 virtualenv.py env && env/bin/pip install -r requirements.txt && . env/bin/activate

3. Логин

./yaploader auth --username=USER_NAME

выбор куда грузить

4. список альбомов (номер альбома используется при загрузке -a #омер_альбома).

./yaploader albums

5. Сама загрузка...

./yaploader upload -a 55 /tmp/some_file.jpg


Хотелось бы загрузку из папки всех файлов ./yaploader upload -a 55 /tmp/*.jpg но с докачкой.

Скажем закаченные файлы будут перемещены в другую директорию, но! не внутрь с исходными (цикличная загрузка).


for FILENAME in `find "ПУТЬ_ДО_ФОТОК" -type f` ; do ./yaploader upload -a 75 "$FILENAME" && mv -v "$FILENAME" "ПУТЬ_К_ЗАГРУЖЕННЫМ" ; done

Ну идея проста как паровоз - что загрузилось перекладываем в другую директорию. При ошибках загрузки, не будет путаницы что загрузилось а что нет - все что загрузилось уже перемещено.


чтобы не вбивать каждый раз написал скриптину



да там еще .msg - сообщения приведены к виду emegre - можно заменить на echo.

#!/bin/bash
cols=`tput cols`
cols=`expr $cols - 7`
esc=`echo -en "\033"`
function start_msg    () { echo -en " ${esc}[1;32m*${esc}[0m $*"; }
function substart_msg () { echo -en "  ${esc}[1;32m>${esc}[0m $*"; }
function warnimg_msg  () { echo -e " ${esc}[1;33m*${esc}[0m WARNING: $*"; }
function info_msg     () { echo -e " ${esc}[1;32m*${esc}[0m >>> $* ...";  }
function result_ok    () { echo -en "${esc}[${cols}\` ${esc}[1;34m[${esc}[1;32m ok ${esc}[1;34m]${esc}[0m\n";}
function result_fail  () { echo -en "${esc}[${cols}\` ${esc}[1;34m[${esc}[1;31m !! ${esc}[1;34m]${esc}[0m\n"; }
function msg_ok       () { start_msg $* && result_ok; }
function msg_fail     () { echo -en " ${esc}[1;31m*${esc}[0m ERROR: $1" && result_fail; }
#TODO : msg_info
fn_print_example(){
warnimg_msg "раскоментированны примеры функций"
substart_msg "закоментить?\n"
info_msg "поехали!"
start_msg "начало сообщения без ошибки"
ls=`cat /var/log/messages`
case "$?" in   0) result_ok     ; msg_ok "багов все еще нед;)" ;;
  *) result_fail   ;;
esac

start_msg "начало сообщения с ошибкой "
ls=`cat /var/log/messagess`
case "$?" in   0) result_ok     ;;
  *) result_fail ; msg_fail "сама ерорина"   ;;
esac
}

export -f start_msg
export -f substart_msg
export -f warnimg_msg
export -f info_msg
export -f result_ok
export -f result_fail
export -f msg_ok
export -f msg_fail

case "$1" in
    h|-h|--help)
   echo "OK"
fn_print_example
      ;;
esac







P.S. надеюсь яфотки не закроют )

Комментариев нет: