20070626

Загрузка фотографий на Picasaweb

Есть у гугла такой сервис для выкладывания фотографий: PicasaWeb. Довольно удобный. Бесплатно предоставляется 1 гигабайт места. Можно докупить и больше. Красивый и удобный веб-интерфейс. Есть возможность иметь скрытые альбомы.

Пользователям Windows загружать туда фотографии просто: для загрузки можно использовать программку Picasa. Однако версия Picasa для Linux, во-первых, не работает с русскими буквами, а во-вторых, не умеет загружать фотографии на Picasaweb.

Что же делать пользователям Linux? Добавлять фотографии по одной через веб-интерфейс? Медленно и неудобно. Есть альтернативный каталогизатор фотографий F-Spot, который умеет также и экспортировать выбранные фотографии на Picasaweb.

Однако мне F-Spot не нравится. Помимо того, что он тянет за собой кучу зависимостей (mono), он ещё и медленно работает. Функции редактирования его недостаточны и неудобны (в отличие от функций редактирования в Picasa). Система меток тоже не очень удобна. Самое главное, текущая версия f-spot 0.3.0 из Debian testing загрузить фотографии на Picasaweb не смогла. Да, уже есть f-spot 0.3.5, но он пока в unstable и тащить все его зависимости только ради загрузки фотографий на picasaweb не хочется.

На этих выходных решил я погуглить, что же можно сделать, и нашёл: как использовать маленький скрипт для загрузки фото на picasaweb.

Для работы скрипта потребуется:
  • библиотека python-elementtree, есть в репозитории Debian, у меня всё работает с версией python-elementtree 1.2.6-10.
  • библиотека gdata-python-client для доступа к службам Google. В Debian есть пакет python-gdata, но на данный момент его версия в testing и unstable 1.0, и с ней скрипт не работает. С версией 1.0.4 скрипт работает нормально. Для установки библиотеки необходимо распаковать архив с исходным кодом библиотеки и выполнить примерно такую комманду:
    ./setup.py install --prefix=/usr/local
  • сам скрипт upload2picasa.py.


При первом запуске скрипта он спросит имя пользователя и пароль, и сохранит их в файле ~/.google_auth. Поскольку пароль в файле хранится открытым текстом, поправьте права доступа к файлу таким образом:
$ chmod go-rwx ~/.google_auth

Теперь, чтобы загрузить фотографии на picasaweb и создать новый альбом достаточно выполнить такую команду:
$ upload2picasa.py -n НазваниеНовогоАльбома *.jpg
или, чтобы загрузить в уже существующий альбом:
$ upload2picasa.py НазваниеАльбома *.jpg

Созданный альбом будет закрытый. Изменить настройки альбома и ввести его описание можно через веб-интерфейс. Чтобы сразу создать открытый альбом (доступный всем), можно использовать ключ -p в командной строке.

Посмотреть список альбомов можно с помощью ключика -l
$ upload2picasa.py -l

Альтернативные способы:

  • скрипт picasa_upload.py, предшественник и «предок» upload2picasa.py, очень простой; в последний раз, когда я его попробовал (25 июня 2007), он создавал исключительно открытые альбомы и названия с русскими буквами переводил в кракозябы;
  • расширение IceWeasel/Firefox fireuploader, которое, вроде бы умеет корректно работать с прокси-серверами, я его не пробовал;
  • F-Spot (видимо, версии 0.3.5 и старше)


См. также: