понедельник, 23 февраля 2015 г.

Чуть больше про яфотки.

форкнул яфотки и добавил скобки после print, теперь и с python3


из зависимостей:

emerge dev-python/anyjson
emerge dev-python/requests

pyexiv2 -> https://github.com/aweal/overlay/tree/master/dev-python/pyexiv2
собирается, пока еще.

если сдохнет вика


Overlay/Local overlay

Someone handed you an ebuild, and you don't know what to do with it? Fear not, for here be instructions!

Creating a local overlay

You can create a local overlay with a few easy steps.
root # mkdir -p /usr/local/portage/{metadata,profiles}
root # echo 'NameOfYourOverlay' > /usr/local/portage/profiles/repo_name
root # echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf
root # chown -R portage:portage /usr/local/portage
Next, tell portage about the overlay.
root #echo 'PORTDIR_OVERLAY="/usr/local/portage ${PORTDIR_OVERLAY}"' >> /etc/portage/make.conf

Adding an ebuild to the overlay

Now that the basic layout is in order, you can add an ebuild to the overlay. In this example, app-dicts/artha-1.0.2 (available at [1]). We will assume the ebuild is in the homedir of the user myuser, and named artha-1.0.2.ebuild.
root # mkdir -p /usr/local/portage/app-dicts/artha
root # cp ~myuser/artha-1.0.2.ebuild /usr/local/portage/app-dicts/artha/artha-1.0.2.ebuild
root # chown -R portage:portage /usr/local/portage
root # pushd /usr/local/portage/app-dicts/artha
root # repoman manifest
root # popd
You should now be able to install the package from your overlay with emerge.
root #emerge -av1 app-dicts/artha

суббота, 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. надеюсь яфотки не закроют )