Наверное самая глупая фишка в ридерах от Kobo - это так называемые книжные полки. Единственное преимущество перед хранением книг в директориях - возможность поместить книгу сразу в две и более полок. Довольно сомнительная возможность.
Я не использую Calibre и просто закидываю книги в ридер. Иногда раскладывал по полкам. Но после того, как полки несколько раз слетели, перестал это делать. Как-то мне ночью не спалось и я написал скрип на python, который раскладывает книги по полкам.
Как это работает :
В основной памяти и на карточке я создал корневую директорию /Books. Внутри - отдельные директории для серий, в которые я копирую книги.
Потом запускаю скрипт.
Скрипт сначала очищает две таблицы: Shelf и ShelfContent. Потом сканирует папку Books и записывает названия вложенных папок в Shelf и собственно книги в ShelfContent.
Внутренние алгоритмы ридера работают по другому. Они ничего из базы не удаляют, а ставят пометку, что книга удалена. Вероятно это делается для сбора статистики и передается на сайт производителя, чтоб лучше нам впаривать книжки.
Но это мои догадки. Мне это было делать лениво и я по простому очищаю указанные таблицы. Извините, если что не так.
Вложенные директории не проверял. К тому же, считаю смысла в них нет. Название полки не поместится на экран ридера.
Собственно и все.
Easy way
:
Можно просто скачать версию программы соответствующую Вашей операционной системе: Linux 64 bit Windows 64 bit
Просто подсоединяете Kobo и запустите программу. Она сама создаст полки, в соответствии с каталогами внутри /Books и разместит в них книги.
Способ посложнее
Кому интересно изменить скрипт, нужно устанавливать интерпретатор Python.
Установка Python
Для работы скрипта необходимо, что бы на вашем компьютере был установлен Python 3.
Если у вас Ubuntu :
...то Python 3.5 уже скорее всего стоит. Если нет, то выполните команду:
1. Сохраните скрипт в файл KoboShelf.py и дайте ему права на исполнение:
Code:
chmod +x KoboShelf.py
2. В каталоге .kobo в основной памяти KOBOeReader сделайте резервную копию базы данных.
Code:
$ cp KoboReader.sqlite KoboReader.sqlite.origin
3. Создайте папку /Books в основной памяти Kobo и на SD карточке, в ней папки с сериями, в них скопируйте ваши книги.
4. Запустите из терминала вышеуказанный скрипт.
Code:
./KoboShelf.py
На экране будет нечто похожее на :
Code:
BookShelf: Айзек Азимов. Академия file:///mnt/sd/Books/Айзек Азимов. Академия/Азимов 10 Триумф Академии.ePub file:///mnt/sd/Books/Айзек Азимов. Академия/Азимов 03 Академия.ePub file:///mnt/sd/Books/Айзек Азимов. Академия/Азимов 02 На пути к Академии.ePub file:///mnt/sd/Books/Айзек Азимов. Академия/Азимов 01 Прелюдия к Академии.ePub file:///mnt/sd/Books/Айзек Азимов. Академия/Азимов - Конец вечности.epub file:///mnt/sd/Books/Айзек Азимов. Академия/Азимов 09 Академия и хаос.ePub
. . . . . . . . . . . . . . . .
BookShelf: Эндер Виггинс file:///mnt/sd/Books/Эндер Виггинс/Кард 8 Театр Теней.ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 7 Тень Гегемона.ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 1 Игра Эндера.ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 5 Дети Разума.ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 2 Говорящий от имени мертвых (Голос тех, кого нет).ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 4 Ксеноцид.ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 3 Советник по инвестициям.ePub file:///mnt/sd/Books/Эндер Виггинс/Кард 6 Тень Эндера.ePub
Process finished with exit code 0
5. Безопасно извлеките ридер.
Командная строка
В Linux и в Windows скрипт автоматически определяет точки монтирования Kobo и SD карты. Поэтому для создания полок никакие аргументы в команде запуска не нужны.
optional arguments: -h, --help show this help message and exit --onboard ONBOARD eReaders mount point --sd SD SD cards mount point --onboard_sw {on,off} Enabling/disabling adding book from eReader onboard memory. Enabled by default --sd_sw {on,off} Enabling/disabling adding book from SD card memory. Enabled if SD card present -s, --showsettings Display settings and exit. Reader must be connected. -v, --version show program's version number and exit
Какие могут быть траблы
Скрипт в экспериментальной стадии, поэтому возможно все. Если по какой то причине испортилась база данных KoboReader.sqlite, то восстанавливаем ее из сохраненной копии. Как всегда, все вы выполняете на свой страх и риск. Я ни за что не отвечаю.
В скрипте меняйте, что хотите, хоть автора, хоть код.
Полки обновляются при подключении/отключении устройства по USB, причём только при наличии изменений со времени предыдущего обновления. Если книг много, то создание полок занимает несколько минут (без визуального отображения процесса). К сожалению, полки не отображаются мгновенно, а требуют ещё одного цикла подключения/отключения (либо перезагрузку).
AxaRu Ну почему сразу "в топку"? Кому нравятся внутренние скрипты, а кому и внешние... _________________ Kobo Glo HD, Kobo Aura H2O, Kindle Paperwhite 2
Есть несколько вопросов/пожеланий... 0. "Как использовать" если Win10 ? 1. Правильно я понял, что названия папок в /books - это названия полок, а файлы внутри - это книги и вложенные папки с файлами невозможны? 2а. Можно сделать запуск "для дураков", т.е. вывести кнопку запуска скрипта на экран Kobo? 2б. Можно интегрировать запуск скриптов резервного копирования базы данных и создания полок в KSM8 http://www.mobileread.com/forums/showthread.php?t=266821 ? _________________ KPW3(Wi-Fi JPN 5.8.7 jail vlasovsoft 2016.03) H2O(3.19.5761 Metazoa patch KSM8 vlasovsoft 2016.03)
0. Честно скажу, не знаю. У меня нет Windows 10. На днях поставлю на виртулке и отпишу. 1. Да, названия папок внутри /Books (с большой буквы) - это названия полок.
Вложенные папки допускаются. Названием полки будет имя каталога в котором присутствуют книги.
:
Например: Папка "/Book/Звягинцев/Одисей покидает Итаку" Будет создано 2 полки: "Звягинцев" и "Одисей покидает Итаку", если в каждой из них будут книги.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum