Показаны сообщения с ярлыком picasa. Показать все сообщения
Показаны сообщения с ярлыком picasa. Показать все сообщения

20071113

Как скачать альбом Picasaweb целиком (без Picasa)

Написал маленький скрипт download-picasa-album, позволяющий из коммандной строки за раз скачать все изображения из альбома Picasaweb в полном разрешении.

Использовать так:
download-picasa-album 'ссылка-на-RSS-фид-альбома'


И все фотографии албома скачиваются и помещаются в текущую директорию. Русские буквы в именах файлах обрабатываются нормально (в UTF-8 локали), а вот пробелы, думаю, вызовут проблемы в том месте, где awk вызывает wget. Надо бы поправить...

Да, можно вместо ссылки давать имя файла с уже скачанным фидом.

Скачать скрипт


Идею заимствовал у Дмитрия Астапова, но воспользовался xmlstarlet вместо Xtract и оформил всё это дело в виде скрипта. Кусок awk-кода, декодирующий URL взял с сайта Huidae Cho. Скрипту также требуется iconv.

Дополнение: Похоже, мой скрипт удачно скачивает только открытые альбомы; надо будет посмотреть, что там ломается с частными альбомами. В общем, если мой скрипт у вас не работает, можете попробовать ещё скрипт Loïc Serf-а. Код его скрипта можно найти также в комментариях ниже.

P.S. Вот, теперь из коммандной строки, не устанавливая громоздкую Picasa, можно не только выкладывать фотографии на Picasaweb, но и скачивать альбомы друзей. Я доволен.

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 и старше)


См. также: