TechLife devBlog

Konsolowy uploader dla Flickr

Internet 14th Aug 2007

Zaczęło się od tego, że wtrąciłem mały offtopic w temacie o uploaderze dla Picasa Web, kiedy tu znienacka zjawił się Marek Wiewórski z gotowym rozwiązaniem

Wymagania

Ale od początku. Do skryptu potrzebna będzie nam biblioteka flickyou Wystarczy że pobierzemy ją z na dysk, rozpakujemy, wejdziemy do katalogu i wpiszemy:

# python setup.py install

Flickyou do działania potrzebuje też innego modułu pythona — simplejson. Jeżeli więc go jeszcze nie posiadamy to:

# emerge -av dev-python/simplejson

Zdobywamy klucz API

Aby połączyć się z API serwisu Flickr należy zdobyć dwa klucze – key i secret, czego możemy dokonać na tej stronie

Kiedy mamy już klucze tworzymy w katalogu domowym plik .flikr.cfg o następującej strukturze:

[Auth]
api_key: KLUCZ_KEY
secret_key: KLUCZ_SECRET

Oczywiście zamiast KLUCZ_KEY i KLUCZ_SECRET wstawiamy odpowiednie numerki.

Odpalamy skrypt

Teraz zabierzmy się za skrypt właściwy Nadajmy mu prawa do wykonania:

# chmod +x flickr.py

I przenieśmy do /usr/bin/ aby był widziany jako polecenie

# mv flickr.py /usr/bin/flickr

Od tej chwili mamy prawie działający skrypt. Prawie bo czeka nas jeszcze pierwsze uruchomienie. A wygląda to najprościej jak można.

$ flickr jakis_plik.png

Teraz jeżeli wszystko zrobiliśmy dobrze pozostaje nam potwierdzenie autentyczności programu posługującego się naszym kluczem API. Powinna otworzyć nam się przeglądarka tekstowa a naszym zadaniem jest zalogowanie się do serwisu Flickr i kliknięcie na link zezwalający naszemu skryptowi na korzystanie z API. Dokładniej wygląda to tak, że po zalogowaniu klikamy w jeden redirect a na następnej stronie znajdziemy już na środku link zezwalający. Po całej operacji można już zamknąć przeglądarkę i gotowe! Nasz skrypt powinien już działać jak należy.

Jak widać skrypt do razu podaje nam linki do miniaturki oraz pełnego rozmiaru. Po prostu idealne do zastosowania blogowego lub gdy chcemy szybko komuś pokazać jakiś screen.

Integracja z Thunarem

Jako że przeniosłem się na gibkie Xfce wypadałoby skorzystać z jego zalet. Sprawa jest banalnie prosta. Odpalamy Thunara i klikamy Edycja > Konfiguruj akcje… Tutaj znajdziemy małe okienko gdzie dodamy upload grafiki na Flickr. Klikamy w plusik i wpisujemy co następuje:

nazwa: Flickr
Opis: Upload grafiki na Flickr
Polecenie: flickr.py %F > /tmp/flickr && geany /tmp/flickr
Ikonka: Ściągamy z http://yourkee.com/icon/flickr.png

Tutaj małe objaśnienie samego polecenia. Symbol %F wstawia nam ścieżki do wszystkich plików, które zaznaczymy w Thunarze. Jednak, jeżeli nie odpalimy całego polecenia w terminalu, to nie będziemy mieli podglądu na wyświetlane linki do miniaturki i pełnej grafiki, co nam się nie podoba ;-) Przekierujemy więc wyjście całego polecania do pliku /tmp/flickr a następnie, po zakończeniu uploadu otwieramy go naszym ulubionym edytorem. W moim przypadku jest to Geany ale równie dobrze możecie zrobić to Geditem czy czymkolwiek innym.

Teraz przechodzimy do zakładki Warunki pokazywania i zaznaczamy tam Pliki graficzne

Integracja zakończona! Teraz w Thunarze po kliknięciu prawym przyciskiem myszy na jakiś plik graficzny w menu kontekstowym powinniśmy widzieć opcję Flickr. Możemy też zaznaczyć w ten sposób kilka plików graficznych i wrzucić je jednocześnie.

Integracja z Mirage

Mirage czyli przeglądarka grafiki, o której wspomniałem ostatnio ma podobnie jak Thunar możliwość definiowania własnych czynności. Wystarczy kliknąć Modyfikuj > Własne czynności > Konfiguruj. Na tej samej zasadzie możemy więc dorobić tutaj upload na Flickr. Mamy możliwość, a nawet musimy przypisać każdej nowej akcji odpowiedni skrót klawiszowy. Ot taka dbałość o wygodę użytkownika ;-). Ja sobie przypisałem Ctrl+Shift+F

To by było na tyle. Miłego użytkowania i podziękujcie Markowi

PS. O konsolowym uploaderze do Picasa Web pisałem wcześniej

Komentarze z jogger.pl

paszczak000 14.08.2007 / 13:40

Super! :)

Sebas86 14.08.2007 / 14:50

Genialne, zwłaszcza ta integracja z Thunarem. Do tej pory korzystałem z jUploader ale to… jUploadera zostawię sobie do wysyłania całych albumów. :-)

emm 14.08.2007 / 22:05

Świetne, na pewno się przyda.

Marek Wiewiórski 15.08.2007 / 12:51

Jak ktoś emergnie zenity, to może jeszcze wysmarować gotowy dialog:
zenity —info —text „$(flickr %F)”
zamiast polecenia z geany. Not tested. :)



Komentarze