kstep 28.05.2011 02:13

СкриптыЗагрузка изображения на imgur.com

Тут недавно проскакивала тема скрипта для заливки на Picasaweb. А вот мне нравится imgur своей простотой и ненавязчивостью. У них на сайте приводятся примеры скриптов для работы с их API на множестве разных языков. Я же решил написать свой вариант на питоне с блекджеком.


Мой вариант отличается тем, что использует urllib2, в то время, как пример от imgur основан на curl-ле.

Для начала идём на http://imgur.com/register/api_anon и заводим себе AppKey.

Потом берём код с гиста и кладём в файлик imgur, не забыв сделать для него chmod a+x.

Заменяем в нём значение API_KEY на тот ключ, что получили выше от imgur-а и скрипт готов к работе.

Ах да, он ещё требует либы poster, которая находится в пакете python-poster в Дебиане/Бубунте (про другие, увы, не знаю).

Всё. Принимает файлы либо со стандартного входа, либо как первый параметр при вызове. Например:

$ imgur ./pic/paul-graham-ladder.gif
Original: http://i.imgur.com/4mJkt.gif
Page: http://imgur.com/4mJkt
Delete: http://imgur.com/delete/AzzU0Mhnv6KJDvY
Small: http://i.imgur.com/4mJkts.jpg
Large: http://i.imgur.com/4mJktl.jpg


В случае ошибки пишет сообщение на STDERR и выдаёт ненулевой код возврата.

Disclaimer: писал для себя на коленке, публикую здесь, т.к. подумал, что может кому-то пригодится. Если кого что не устраивает — милости прошу, пилите.

Upd. Этот скрипт писался с расчётом на unix-way: никакого лишнего функционала, одна функция — залить файл на imgur и выдать результат, легко вставляется в пайпы, например можно на его стандартный вход пустить прогу, генерирующую какой-нить график, а вывод этого скрипта пропустить через grep/awk для выбора нужной ссылки и затем на xclip для вставки в буфер обмена. Что-то вроде (generate-cool-image | imgur | awk '/^Large:/{print $2}' | xclip -i) && notify-send "Imgur uploader" "Image successfuly uploaded!" || notify-send "Imgur uploader" "Error uploading image!"


Тэги: imgur python картинки скрипт хостинг
+ 10 -
Похожие Поделиться

ZED 28.05.2011 12:52 #
После itmages я получу какой-то позитив от этого сервиса?
kstep 28.05.2011 17:41 #
Судя по впечатлениям от обоих сервисов, я бы сказал, что itmages — это русский клон imgur-а. По сервису они примерно сопоставимы. Но imgur мне нравится больше, т.к. предоставляет больше возможностей по манипуляциям без регистрации. Например они дают ссылку на удаление изображения после его заливки.
xT 28.05.2011 14:38 #
в Shutter v.088 обещают добавить имгур, жду вот
alltiptop 28.05.2011 17:42 #
Более 1600* по ширине png вставляет?
kstep 28.05.2011 17:47 #
Как я понял, у них ограничение только по размеру.
kstep 28.05.2011 17:51 #
Ну и да, если мне нужно выложить что-то в большом разрешении без всяких потерь и с полным контролем, то естественно пользуюсь своим собственным сервером =)
alltiptop 28.05.2011 17:59 #
А как же?
Ну разве что контроль полный-полный у себя)
kstep 29.05.2011 01:18 #
Угу, а потом вместо картинки вставка «у вас превышен лимит трафика». Нафиг такой сервис.
alltiptop 31.05.2011 00:26 #
Разве там есть ограничение?
kstep 31.05.2011 02:45 #
Было дело, сталкивался.
IT.Tux.Droid 28.05.2011 23:01 #
Делюсь свои быдлокодом для этого сервиса =)

Скрипт кладем в '~/.gnome2/nautilus-scripts/', кликаем правой кнопкой по графическому файлу в наутилусе и выбираем 'Сценарии' -> '%Название скрипта%'. Не забудьте про зависимости: python python-pycurl libnotify-bin и про ключ для api: http://imgur.com/register/api_anon.

После загрузки хотлинк появится в буфере.
Так же возможна загрузка нескольких картинок сразу: выделяем нужные графические файлы, кликаем правой кнопкой... =)