Command line script, to upload photos to the http://fotki.yandex.ru service.
Python Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
yafotki
.gitignore
README.md
pack.sh
requirements.txt
setup.py
virtualenv.py
yaploader

README.md

Загрузчик фотографий в Яндекс Фотки

Это скрипт предназначен для закачивания фотографий на сервис Яндекс.Фотки (http://fotki.yandex.ru). Программа неофициальная, и Яндекс не занимается ее поддержкой и распространением.

Помимо command-line интерфейса, yafotki так же являются оберткой вокруг фоточного API. Этот модуль может быть использован из других программ на Python для управления альбомами и фотографиями.

Установка

Сначала необходимо создать виртуальное окружение и установить в него необходимые библиотеки:

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

Если вы хотите, чтобы теги, название и описание фотографии брались из Exif и Iptc тегов, то вам так же понадобится библиотека python-pyexiv2.

В Linux системах, основанных на Debian, эти пакеты устанавливаются очень просто:

apt-get install python-pyexiv2

Использование

Перед использованием программы, необходимо авторизоваться:

./yaploader auth --username some-yandex-login

Программа запросит ваш пароль на Яндексе. Но сам пароль нигде не будет сохранен. Вместо него на диске, в файле ~/.fotki.token, будет сохранен специальный ключ, предоставляющий доступ только к сервису Яндекс.Фотки.

Программа поддерживает довольно много команд по управлению альбомами и фотографиями.

Доступ к альбомам осуществляется по номеру альбома. Например, чтобы загрузить фотографию в конкретный альбом, следует выполнить команду:

./yaploader albums

Она выдаст примерно список альбомов:

1) "Умолчательный альбом", 21 image(s)
2) "Screenshots", empty
3) "Пейзажи", 16 image(s)

Далее, можно воспользоваться командой upload:

./yaploader upload -a 3 forest.jpg sunset.jpg

В этом примере, мы загружаем два снимка в альбом "Пейзажи". Обратите внимание, что при этом указывается его номер. Номер альбома непостоянен, и может измениться при удалении какого-либо другого альбома. Так что перед загрузкой полезно запросить список альбомов и уточнить номер.

Многие команды позволяют задавать дополнительные параметры. Чтобы узнать, какие именно, пользуйтесь встроенной справкой: ./yaploader --help или ./yaploader имя-команды --help.

Настройки по-умолчанию

Некоторые настройки "по-умолчанию" можно хранить в конфиге. Для этого создайте в домашней директории файл .fotki.conf. Конфиг может содержать такие опции:

# доступ к фоточке может тах же быть friends или private
access_type = public
# закрыть доступ к фотографии по URL со страниц вне домена Яндекс.Фоток
storage_private = no
# отключить комментарии
disable_comments = no
# только для взрослых
xxx = no
# не показывать оригинал
hide_original = no

Специальные спасибы

Как попасть в список специальных спасибов

Сделать это очень просто. Достаточно форкнуть репозиторий, сделать полезные изменения, проверить, что ничего при этом не сломалось, прислать pull-request.

Если кодить лень, а поблагодарить хочется, то можно зафлэттерить этот проект на сервисе Flattr:

Список изменений:

Версия 0.3.0

  • Авторизация по OAuth, с сохранением токена.
  • Все операции производятся через JSON API Яндекс.Фоток.
  • Библиотека переименована в yafotki, а сама утилита в yaploader.
  • Появились две дополнительные зависимости: anyjson и requests.

Версия 0.2.5

  • Код загрузчика выделен в отдельную библиотеку YaFotki, к которой можно "прикрутить" любой пользовательский интерфейс.
  • Сама консольная программа переименована в yafotki.
  • Параметр --upload больше не нужен, можно просто указывать список файлов или маску.
  • Номера альбомов приняли более человеческий вид, и теперь их легко запомнить.
  • Номер альбома, который будет использоваться по умолчанию, теперь можно указать в конфиге
  • Исправлена ошибка, возникающая при загрузке картинок с прописаными русскоязычными тегами или заголовком.

Версия 0.2.4

  • Исправлена загрузка картинок, больших чем 128 килобайт.
  • Удалена лишняя зависимость от BeautifulSoup.

Версия 0.2.3

  • Сохранение настроек в конфиге ~/.fotki.conf.
  • Запоминание куки, чтобы не вводить пароль каждый раз.
  • Запрос пароля в интерактивном режиме, через getpass.
  • Авторизация через HTTPS.

Версия 0.2.2

  • Исправлена ошибка, возникающая при отсутствующем pyexiv2.
  • Скрипт больше не создает временных файлов на диске.