V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eraser
V2EX  ›  阅读

Kindle Collections 按文件夹分类

  •  
  •   eraser · 2010-10-29 21:59:35 +08:00 · 8429 次点击
    这是一个创建于 5171 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚入手Kindle 3,发现原生系统的Collections管理及其低效,文件一多就头大。即使将电子书放在documents的子目录中,也需要在kindle上手工指定Collections,实在是崩溃。一番google+尝试,用python实现了按照子目录自动更新Collections的功能,代码写的太烂就不发出来丢人了,把实现方法贴下来好了。

    Kindle的Collections功能是通过/system/collections.json来实现的。

    1. /system/collections.json文件格式
    1.1. 标准json文件,文件编码与系统locale一致。例如通过debugOn修改为zh-CN后,cllections.json编码为GB 18030, 换行为Unix的LF格式。
    1.2. 每一个Dictionary的索引为Collection名+"@Locale",例如 "Amazon@zh-CN"。
    1.3. Items里每一个值为一本书的hash。如果是pdf文件,hash则为pdf文件全路径的utf-8编码的sha1值,如果是mobi文件,则hash为文件信息里的Amazon Standard Identification Number (ASIN)及类别。
    例如:/mnt/us/documents/abc.pdf -> 8155cc904146beab3ebf567e84c8e62c18eee0b6
    /mnt/us/documents/101023Concise English-Chinese Dictionary.mobi > #B0043GX3LA^EBOK
    1.4. lastAccess 为timeStamp

    2. 直接修改后的json文件会被自动恢复为旧文件,经过尝试发现了一个可行的办法:覆盖掉原json文件后不要弹出Kindle磁盘,直接将Kindle的电源按钮拨到右边,保持10秒左右(电源按钮由绿变黄),松开电源按钮,拔掉usb线,Kindle将重启,新的Collections.json就会被采用。

    ps: Collections分类名字是支持中文的。
    参考信息:
    http://hi.baidu.com/jjzhou485/blog/item/3d903696c8d25747d0135e21.html <2.5固件中collection的数据格式>
    <Manage Kindle 2.5 collections.json file>
    http://github.com/kroo/mobi-python <A library for reading (unencrypted) mobi-reader files in Python>

    @Livid 能不能开个Kindle节点?
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5161 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:15 · PVG 09:15 · LAX 17:15 · JFK 20:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.