« Kobo: cfwの本棚作成をランチャーで実行 | トップページ | Kobo: cfwの本棚作成スクリプトを更新(著者名コレクションの修正その他) »

2015年9月22日 (火)

Kobo: cfwの本棚作成スクリプトをカスタマイズ & Calibreと連携 

ランチャー用のcfw本棚作成スクリプトをカスタマイズして、機能追加。
こんな感じか、と勘で。

試してみたい人は、ダウンロード

(スクリプトのみ。ランチャー本体がインストール済みであることが条件。「cfwの本棚作成をランチャーで実行」も参照)

追加したのは、
1. 言語別のコレクション 
2. 最下層フォルダ名のコレクション化を恒常化
(koboCFW.confで設定するUserBookInsertShelf="FOLDER"とは別に)
この2つのコレクションはkoboCFW.confで”ON/OFF"などの設定はしない。該当するものがあれば、かならず作成される。

Kobocollection01

言語のコレクションには[ ]をつけて、コレクションの先頭にくるようにしている。
データベースにLanguageの設定がある本にかぎる。cbzなど言語情報のないものはコレクションに入らない。日本語、ドイツ語、英語はそれぞれコレクション化されるが、それ以外は[その他の言語]コレクションに入る。スクリプトを見れば、簡単に自分で変更できるだろう。

< >で囲まれているのが、最下層フォルダ名から作ったコレクション。< >で本来のcfwによるコレクションと区別した。これも括弧をつけたので、koboCFW.confで設定したコレクションよりも先にくる。

この画像ではジャンル的なフォルダ名にしてコレクション化しているが、シリーズ名にするなど使い方はお好みで。Calibreで書誌情報を管理しているなら、転送の際にシリーズ名のフォルダなど簡単に作れる。(後で説明する)

cfw本来の機能で作ったコレクションがこの後に続く。
ストア購入本: StoreBookInsertShelf="ATTR"
自分で転送した本: UserBookInsertShelf="ATTR"
としているので、著者名のコレクションがさらにできている。


Calibreで本を管理しているなら、本当はKoboTouchExtended pluginを使うのが一番楽。コレクション作成は柔軟だし、書誌情報の変換も便利。
だが、最近調子が悪くて、よくデータベースが壊れる。Koboのメモリー自体がいかれかけているのかもしれないが、ちょっと使い物にならないほど。なんかコレクション絡みっぽい。cfwの本棚作成スクリプトを使えるようにしたし、pluginを使うのをやめてみたら、データベースも壊れなくなったみたい。(うちの端末だけかもしれない)

pluginを使わないでどうやって転送するのかというと、Calibreの「ディスクに保存」のほうを使う。「デバイスに送信」は使わない。
これだと書誌情報の変換もできないし、本をコピーしても結果がすぐCalibreに反映されないから、コピーが終わったのかどうかもよくわからない。

だが、唯一の利点はファイル名やフォルダ名に日本語が使えること。plugin経由で転送すると、日本語は変な読み方のローマ字になってしまうが、「ディスクに保存」だと日本語がそのまま使える。だから、cfwでフォルダ名からコレクションを作っても大丈夫、というわけ。

ちょっと設定が必要。
Calibreの「設定」から「ディスクに保存」に進むと、
Calibre_disc_setting
・一番上のチェックのところはとりあえず全部はずした。
「英語に存在しない文字を英語の相当する文字に変換する」はかならずチェックを外す。

・「保存するファイルフォーマット」はepub

・「テンプレートを保存」はちょっと説明
 {languages}/{authors}/{tags:ifempty(その他)}/{title}.kepub

としているが、これはKoboに転送する際のフォルダ構成とファイル名を指定している。これで転送すると、
 言語/著者/タグ/タイトル.kepub.epub

というフォルダ構成・ファイル名になる。/がフォルダの区切り。

「タグ」はCalibreの書誌情報の項目のひとつ。Calibreで入力してあれば、それがフォルダとして作成される。もしタグがなければ、「その他」というフォルダを作って、そこに本を入れる。それが{tags:ifempty(その他)} と書いている意味。
こうしないと、タグがない本の場合、著者が最下層フォルダになって、cfwのコレクション作成に支障が出るので。

最下層フォルダをたとえばシリーズ名にしたければ、
 {language}/{authors}/{series:ifempty(その他のシリーズ)}/{title}.kepub

もちろんCalibreの書誌情報で「シリーズ」の項目ををきちんと入力している必要がある。

「著者 - シリーズ」というフォルダを作りたければ、
 {language}/{authors} - {series:ifempty(その他のシリーズ)}/{title}.kepub

など、いろいろ設定できる。詳しくは
http://manual.calibre-ebook.com/template_lang.html などを。


ついでなので、拡張子を.epubからkepub.epubに変えるだけでは栞が・・・という場合には、KePub Output Pluginでも。
http://www.mobileread.com/forums/showthread.php?t=220565

もちろん縦書きに対応しているわけはないので、epubからkepubに変換する時に、「外観」の「追加CCS」に縦書き用の設定を書いておけば、とりあえず縦書きkepubになるようではある。
縦中横とか、横書きページを含む本などは対応できないだろうが、読むだけならなんとか。
あと、できあがった本の拡張子は.kepubで、kepub.epubではないので、自分で直す必要がある。

|

« Kobo: cfwの本棚作成をランチャーで実行 | トップページ | Kobo: cfwの本棚作成スクリプトを更新(著者名コレクションの修正その他) »

kobo」カテゴリの記事

コメント

KePub Output Pluginのファイルを弄ることで拡張子を変える手間を省くことが出来ます。

KePub Output.zipを解凍して、conversionフォルダ内にある
kepub_output.pyをエディタで開き33行目にある
 file_type = 'kepub'

 file_type = 'kepub.epub'
に書き換えるとこれがそのまま拡張子になります。

投稿: kam | 2016年9月11日 (日) 00時30分

情報ありがとうございます。kepubで統一するなら手っ取り早そうですね。
ただ、calibre内で.epubとkepub.epub併存できますか?

投稿: soranoji | 2016年9月11日 (日) 14時01分

calibre内ではKEPUB.EPUBとEPUBは別々に扱われるため併存できますが、デバイスに送信するとKEPUB.EPUBは拡張子がEPUBに変えられてしまうので、やはりディスクに保存して使うしかありません。リネームの手間が省けるというだけのTIPSです。

投稿: kam | 2016年9月13日 (火) 21時14分

ちょっと気になったので、「デバイスに送信」にいつも使っているKoboTouchExtendedを、calibre標準のKoboTouchプラグインに変更してみたんですが、拡張子が.kepubのファイルは送信時に自動的に.kepub.epubに変更されるみたいでした。KoboTouchプラグインのカスタマイズ/デバイスの設定で「送信するフォーマット」にkepubも含めているからかもしれません。
実際、拡張子.kepubの本をkobo端末は認識しませんから、送信時に.kepub.epubに変更するようになっていても不思議はない気がします。
(.kepub.epubの本では試していませんのでわかりませんが、ひょっとしたらkepubではなく、epub判定されているのかもしれません)

日本語ファイル名は変なローマ字になりますが、それが気にならなければ、コレクションも一気に作れるので楽といえば楽かもしれません。
日本語ファイル名を維持したいなら、KePub Output Pluginに手を加えて「ディスクに保存」がいいでしょうね。

投稿: soranoji | 2016年9月14日 (水) 19時38分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Kobo: cfwの本棚作成スクリプトをカスタマイズ & Calibreと連携 :

« Kobo: cfwの本棚作成をランチャーで実行 | トップページ | Kobo: cfwの本棚作成スクリプトを更新(著者名コレクションの修正その他) »