Send-to-PocketBook czyli mały skrypcik w Pythonie

Miejsce, w którym użytkownicy forum mogą zaprezentować swoje własne projekty programistyczne.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Send-to-PocketBook czyli mały skrypcik w Pythonie

Post autor: ethanak »

Z cyklu "przydatne skrypty pisane na kolanie" - skrypt przesyłający książki z komputera do naszego PocketBooka obsługującego Send-to-PocketBook (np. 623 Touch Lux, 515W Mini itp.)

Instalacja (zakładam że konto na pocketbooku jest założone i działa - jeśli nie, proszę postępować według instrukcji PB):

1) przygotowujemy dodatkowe moduły Pythona (część z nich powinniśmy mieć):
- python-mailer
- python-sqlite3
- python-zipfile

Oraz jeśli chcemy korzystać z graficznego interfejsu:
- python-gi
- gir1.2-gtk-3.0

(jeśli o czymś zapomniałem - proszę zerknąć sobie do pliku i podpatrzeć co on tam importuje).

2) ściągamy plik http://tts.polip.com/files/pbsync-0.1.0.tar.gz, rozpakowujemy (w archiwym jest tylko jeden plik). Wypakowany plik pbsync kopiujemy gdzieś do katalogu z którego będzie mógł byc wykonany - np. /usr/local/bin/ - i nadajemy prawa do wykonania.

3) wydajemy polecenie

Kod: Zaznacz cały

pbsync -e
aby skonfigurować program

4) Teraz - zakładając że mamy np. książke Dana Browna - możemy wpisać polecenie:

Kod: Zaznacz cały

pbsync "/ścieżka/do/Brown Dan - Inferno.epub"
Jeśli wszystko jest prawidłowo skonfigurowane, to po włączeniu wi-fi w pocketbooku, jeśli mamy ustawiony automatyczny odbiór - powinien pokazać się komunikat o odebranym pliku.

Można teraz spróbować zintegrować program z naszym ulubionym managerem plików, czyli Midnight Commanderem. W tym celu uruchamiamy z menu "Polecenie"->"Zmodyfikuj plik menu", wybieramy menu użytkownika i dopisujemy odpowiednią pozycję, np.:

Kod: Zaznacz cały

= t t
m       Send to pocketbook
        if [ "%t" = "" ] ; then
                pbsync %f
        else
                set %t
                pbsync %t
        fi
Teraz wciśnięcie F2 m spowoduje wysłanie zaznaczonych pozycji (lub jeśli zaznaczenia nie ma - bieżącego pliku).

Uwaga! Jeśli z jakichś przyczyn Midnight Commander nie jest Twoim ulubionym managerem plików, podaj sposób konfiguracji swojego!

Przed pierwszym użyciem (nie licząc testów) warto podłączyć PB do komputera i wydać polecenie (ścieżka przykładowa):

Kod: Zaznacz cały

pbsync -i /media/PocketBook515
Spowoduje to zapamiętanie wszystkich plików książek znajdujących się na czytniku.

Ficzerki:

1) Automatyczne tworenie plików fb2.zip przy wysyłaniu plików fb2
2) Zabezpieczenie przed powtórnym wysłaniem tego samego pliku (przy czym fb2.zip i fb2 traktowane są jako ten sam plik)
3) Zabezpieczenie przed próbą wysłania pliku nieobsługiwanego przez PB
4) Nie wymaga calibre :)

Uwaga dla programistów Pythona:

Niektórym może się przydać rozszerzenie klasy mailer.Message pozwalające na wysłanie załącznika znajdującego się w pamięci bez konieczności tworzenia pliku (pbsync w ten sposób wysyła książki w fb2). Warto zajrzeć :)

Przyjemnego czytania :)
Кто жопой родился, чижиком не помрёт
ODPOWIEDZ

Wróć do „Nasza twórczość”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 93 gości