Portál AbcLinuxu, 3. května 2025 17:19
Import e-knih do Calibre
24.5.2012 21:57
| Přečteno: 2828×
| Různé
Nedávno jsem dělal trošku pořádek ve sbírce e-knih, které se mi válely na disku (všechny jsem získal pochopitelně v souladu se zákonem, žádná levota), tak jsem to vzal pořádně a zrovna jsem je naimportoval do programu Calibre. Tímto zápiskem se chci podělit o zkušenosti.
Zcela záměrně se vyhnu popisu programu Calibre. Jenom v nutných případech vypíchnu některé vlastnosti nebo schopnosti, které stojí za zdůraznění. Návodů ke Calibre je hodně, stačí pohledat. Pokud umíte anglicky, nejlepší je podívat se přímo na stránkách projektu [Calibre]. Aby vám moje zkušenosti k něčemu byly, měli byste trochu znát možnosti programu a trochu se pohrabat v nastavení.
Začínáme v situaci, kdy máme na disku plno e-knih a chceme si v nich udělat pořádek tak, aby v nich šlo vyhledávat (pohodlněji než pomocí find
a grep
). K takovému účelu existuje spousta programů. Já jsem si vybral Calibre [Calibre], protože 1) toho docela hodně umí, 2) je zdarma a 3) je open source (dokonce GPL, což je víc, než potřebuji, stačí mi, že se vyznám v datech v databázi a můžu data exportovat ven, pokud na to nemyslel autor aplikace, ale zrovna u této aplikace na to myslel).
Knihy jsem získal z různých zdrojů, takže byl docela bor..., no nepořádek v konvenci pojmenování souborů. Většinou byly soubory umístěné v adresářích podle jména autora a nazvané podle schématu autor-název, někdy ale název-autor, případně jenom název. Dále v případě sérií to bývalo autor-série-název, případně ještě s pořadím v sérii ve všemožných variacích. Dál člověk zápasí s formátem jména autora, nejčastějí je schéma Příjmení, Křestní, ale objeví se i Příjmení Křestní a zejména pak Křestní Příjmení a to vše ve variantě s diakritikou i bez ní, což velice snadno vede k duplicitám a obzvlášť u málo známých autorů to člověk neprohlédne. No a pak jsou ještě lahůdky, že název adresáře je podle série a autora člověk dohledá při troše štěstí z názvu souboru.
Jak jsem psal výše, vybral jsem program Calibre a začal zkoumat, co všechno umí. Kromě grafického rozhraní (GUI) má i ovládání z příkazové řádky, což se mi zdálo být vhodné pro dávkové zpracování dat. Nakonec jsem ovšem zjistil, že z příkazové řádky je import dat hrozně pomalý (aplikace se opakovaně startuje, protože jsem ji volal pro každý soubor zvlášť) a pro moje experimenty nepoužitelný.
Příprava před importem
Kvalita dat
Nejdřív je třeba si zkontrolovat, jak kvalitně jsou knihy označeny. Většinou jde z názvu souboru poznat autora a název díla. Většina elektronicých formátů umožňuje (nejen) tyto položky specifikovat i přímo v souboru, což má výhodu, že není třeba omezovat se na znaky, které zvládne filesystém. Bohužel většina mých knížek neměla vyplněno nic, takže jsem se musel spoléhat na název souboru jako jediný zdroj informací. V Calibre je třeba nastavit, že se informace získávají z názvu souboru.
Po zkušenostech můžu říct, že asi nemá cenu zalamovat se s duplicitními adresáři (například Čapek, Capek a Karel Capek), Calibre má plugin na hledání duplicit a (ten plugin) je docela rychlý. Navíc jméno autora se bere až z názvu souboru, což se může lišit od názvu adresáře. Původně jsem si myslel, že pustím import z příkazového řádku a nastavím autora všech knih podle názvu adresáře. Tehdy to Calibre ještě neuměl (uměl to jenom pro prázdné knížky), tak jsem vytvořil požadavek (k bug trackeru se dá doklikat z [Calibre]) a autor tuto možnost poměrně rychle přidal. Po zkušebních testech jsem ale zjistil, že můj naivní přístup je velice pomalý (pro každý soubor jedno volání, takže se aplikace pořád startovala a vypínalal), takže tudy cesta nevede.
U velmi rozsáhlých sbírek pomůže najít soubory, které jsou binárně duplicitní (čili stejné) a trochu to promáznout. Někdy to jsou třeba jenom stejné obrázky k HTML stránkám (třeba navigační šipky) nebo nějaké přílohy ke knížkám. Takže mazat s rozmyslem. Trochu se s tím odlehčí programu Calibre.
Nutné úpravy
Po krachu první cesty jsem hledal jiný způsob, jak rychle importovat množství knížek a nevymyslel jsem nic lepšího, než nějakým skriptem detekovat knížky, které mají "rozumný" název a půjdou tak importovat bez problémů. Kontroloval jsem tedy, že název soubor obsahuje právě jednu pomlčku, přičemž před ní je řetězec, který obsahuje příjmení autora, tím pádem za pomlčkou je asi název díla (skript asi ještě někde mám, ale stydím se za něj). Takové soubory jsem přesunul (nekopírovat!) někam bokem, a pak jsem je naimportoval z GUI. Tímto způsobem se dá vyřídit třeba i půlka knížek. Mezi zbylými knížkami se dají hledat jiné "rozumné" názvy a pak je zase importovat hromadně. Calibre má bohaté možnosti, jak z názvu souboru načíst jméno autora a název díla, takže není problém ho nějak nastavit a pak naimportovat hromadu knížek.
Neposlušné knížky
Po první části importu, kdy se podařilo zbavit se rozumně nazvaných souborů přichází na řadu ta horší část, kdy člověk musí prohlédnout názvy souborů a rozhodnout, co s tím. Může jít o soubory, kde je překlep ve jméně, nebo soubory se zmršenou diakritikou v názvu (oblíbené po cestování souboru mezi různými systémy). Docela příjemný je ještě případ, kdy nějaký adresář obsahuje knížky z jedné série a názvy obsahují kompletní informace (jméno autora, název knihy, pořadí v sérii, série se dá dopsat všem najednou). To ale není pravidlem a většinou má pár knížek špatné názvy souboru.
Další import je potom většinou ruční práce, kdy člověk musí importovat knížky vyloženě po kusech a opravovat údaje. Je to docela piplačka a zabere to hodně času. Docela se hodí občas promazat prázdné zdrojové adresáře (vzniknou pokud se podaří naimportovat strojově všechny knížky uvnitř), za prvé to člověka povzbudí, že jich není 220 ale jenom 180, za druhé to urychlí práci.
Po importu
Duplicity
Po importu je vhodné začít s hledáním duplicit. K tomuto účelu se hodí plugin, ke kterému se dá doklikat z [Calibre] (Help - calibre forum - Plugins - Index of plugins - Find Duplicates).
Úplně nejdřív je dobré vyřadit binární duplicity. Funguje to překvapivě rychle, protože plugin si velikost souborů asi čte z databáze.
Dále je třeba vyřídit autory. Je třeba dát pozor, aby člověk nesloučil různé osoby pod jedno jméno (připomínám, že Karel a Josef Čapek jsou bráchové a Strugackij taky nebyl jednom jeden).
Po vyřízení autorů se můžete pustit do vlastních knížek. To může být docela dlouhá a nudná práce. Pokud je knížka ve sbírce dvakrát v různých formátech, stačí ji sloučit pod jeden záznam, pokud jsou formáty stejné, je asi vhodné jeden exemplář vyhodit (s výběrem neporadím).
Opravy jmen a názvů
U autorů, kteří se u nás píší s diakritikou (obecně Slované), je vhodné opravit jména na správná. Vzhledem k tomu, že to je na dlouho, tak to je opravdu jenom pro puntičkáře. Calibre má speciální okno na správu autorů, tak ho použijte, je to rychlejší. Pozor!, změny se uloží až kliknutím na OK.
Když máme každou knížku jenom jednou, dá se pustit do oprav názvů. Vzhledem k množství to asi nebude žádný med.
Poznámky
V zájmu čtivosti textu nahoře, jsem některé věci vynechal, tak je doplním sem
-
Calibre může při importu automaticky slučovat různé formáty knížky do jednoho záznamu. Využijte této možnosti. Funguje to jenom z GUI, z příkazového řádku to (zatím?) nejde.
-
Knížky mívají víc autorů, tak pozor na to. Calibre odděluje jména autorů pomocí ampersandu (&).
-
Jakákoliv operace v prohlížeči štítků (tag browser) je velice pomalá. Pokud potřebujete přejmenovat autora, od kterého máte jenom 1-2 knížky, je to lepší přepsat autora v seznamu knížek a Calibre si s tím poradí rychleji.
-
Kódování knížek bývá tristní. Setkáte se s kódováním snad od bratří Kamenických až po windows 1250. Knížek v nějakém normálním kódování na internetu moc není. Calibre umí konvertovat kódování, tak se toho nebojte.
-
Pokud někde přijdete ke sbírce elektronických textů, část z toho budou postahované HTML stránky, s takovými se při importu nechci piplat a rovnou je zahazuji, i když Calibre si s nimi umí poradit a všechny potřebné soubory si zabalí do zipu a uloží jako jeden soubor.
Někdy jsou knížky uloženy po kapitolách. To je na zabití, protože Calibre neumí uložit jednu knížku jako víc souborů. Buď to musíte zabalit zipem nebo akceptovat fakt, že pro Calibre to bude víc knížek.
-
Calibre umí knížky značkovat různými štítky (tagy). Zejména máte k dispozici štítky pro označení jazyka, série a dál hodnocení a obecný štítek na cokoliv (já to třeba používám na označení žánru). Další štítky se generují samy (formát knížky a nakonec i autor se dá vnímat jako štítek). Asi je vhodné mít knížky otagované co nejvíc, pokud máte vícejazyčnou sbírku, tak si označovat jazyk, pokud mát enějaké série, tak je taky označit včetně pořadí v sérii.
-
Je třeba najít rovnováhu mezi počtem štítků a jejich přehledností. Například pokud jde o série, tak jsem je označoval jenom pokud na jedné sérii pracovalo víc autorů, nebo pokud byly rozumně velké (zhruba od 10 knih víc), ostatní jsem vyznačoval do názvů knih. Někdy je pořadí v sérii nejednoznačné (autor napsal sérii tak, že navazují chronologicky, ale vydal je v jiném pořadí, například taková Nadace od Asimova), tak si musíte vybrat.
-
Aspoň půlka knížek, které na internetu najdete ke stažení v češtině, je sci-fi.
-
Určitě ve sbírce najdete knížky, které mají špatně uvedený název, chybně uvedeného autora, chybí jeden z více autorů apod. Takovým chybám se velice těžko vyhnete a nezbývá, než se s tím smířit.
Odkazy
[Calibre] http://calibre-ebook.com/
Tiskni
Sdílej:
Komentáře
Vložit další komentář
25.5.2012 08:10
neal_cz | skóre: 29
Re: Import e-knih do Calibre
Založit nové vlákno •
Nahoru
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.