jgoguen / calibre-kobo-driver

An extension of the existing KoboTouch driver provided with Calibre. This plugin allows modifying ePub files to enable extra Kobo features. I am providing code in the repository to you under an open source license. Because this is my personal repository, the license you receive to my code is from me and not my employer.
GNU General Public License v3.0
327 stars 21 forks source link

Text format is lost when epub is transferred to my device #136

Closed stefano-p closed 3 years ago

stefano-p commented 3 years ago

Bug Checklist

These items are mandatory. If you need help finding this information submit the bug report with as much completed as you can and ask for help finding the rest.

Describe the bug

A particular epub is transferred to my Kobo H20, but the related kepub has lost all text format (alignment, text size, ...). Such issue did not happened with old versions of Calibre/Kobo drivers.

Steps to Reproduce

I have prepared a minimal sample which shows the issue. Please find it in the archive here kepub.zip I have also included the kepub version

  1. Load "aaamin.epub" in a calibre library
  2. Connect your kobo device
  3. Select "aaamin.epub" and transfer it to your connected device
  4. Open the book an your device and notice that text format is not preserved. You can also take a look at "aaamin - test.kepub.epub"

Expected behavior

I expect that the text format of kepub reflects the original epub

Actual behavior

Text that should be right-aligned or justified appears all as left-aligned or as if no formatting properties were defined. Such unwanted behavior only happens with particular epubs, bought from shops.

Screenshots

Here you can see the original epub issue_epub_in Here you can find the related kepub version issue_kepub_out

Logs

calibre Debug log calibre 5.24 embedded-python: True is64bit: False Windows-10-10.0.19041 Windows ('32bit', 'WindowsPE') 32bit process running on 64bit windows ('Windows', '10', '10.0.19041') Python 3.8.5 Windows: ('10', '10.0.19041', '', 'Multiprocessor Free') Interface language: None Failed to initialize plugin: 'd:\Users\Stefano\AppData\Roaming\calibre\plugins\DeDRM.zip' Failed to initialize plugin: 'd:\Users\Stefano\AppData\Roaming\calibre\plugins\INMONDADORI.zip' Successfully initialized third party plugins: Count Pages (1, 11, 1) && KePub Output (3, 5, 2) && Kobo Utilities (2, 14, 1) && KoboTouchExtended (3, 5, 2) && View Manager (1, 6, 0) calibre 5.24 embedded-python: True is64bit: False Windows-10-10.0.19041 Windows ('32bit', 'WindowsPE') 32bit process running on 64bit windows ('Windows', '10', '10.0.19041') Python 3.8.5 Windows: ('10', '10.0.19041', '', 'Multiprocessor Free') Interface language: None Successfully initialized third party plugins: Count Pages (1, 11, 1) && KePub Output (3, 5, 2) && Kobo Utilities (2, 14, 1) && KoboTouchExtended (3, 5, 2) && View Manager (1, 6, 0) Turning on automatic hidpi scaling devicePixelRatio: 1.0 logicalDpi: 96.0 x 96.0 physicalDpi: 91.84180790960451 x 92.05369127516778 Using calibre Qt style: True [0.00] Starting up... [0.00] Showing splash screen... [0.47] splash screen shown [0.47] Initializing db... [0.47] db initialized [0.47] Constructing main UI... DEBUG: 0.0 KoboUtilites::action.py - loading translations DEBUG: 0.0 KoboUtilites::dialogs.py - loading translations DEBUG: 0.0 KoboUtilites::action.py - loading translations DEBUG: 0.6 No Kobo Touch, Glo or Mini appears to be connected DEBUG: 0.6 rebuild_menus - self.supports_ratings=None, self.supports_tiles=None DEBUG: 0.6 KoboUtilities:set_toolbar_button_tooltip - start: text='None' DEBUG: 0.6 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Driver: KoboTouchExtended' [1.19] main UI initialized... [1.19] Hiding splash screen Starting QuickView [8.25] splash screen hidden [8.27] Started up in 8.27 seconds with 1 books Storage number map: {(7, 0): [(3, 'C')], (7, 1): [(1, 'D')], (7, 2): [(2, 'G')], (7, 3): [(1, 'F')]} Storage number for USBSTOR\DISK&VEN_KOBO&PROD_EREADER-4.26.167&REV_0110\N250584008098&0: StorageDeviceNumber(type=7, number=3, partition_number=0) Drive letters for USBDevice(vendor_id=0x2237 product_id=0x4213 bcd=0x110 devid=usb\vid_2237&pid_4213&rev_0110 devinst=31) {'drive_letters': ['F'], 'pnp_id_map': {'F': '\\?\usbstor#disk&ven_kobo&prod_ereader-4.26.167&rev_0110#n250584008098&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'}, 'readonly_drives': set(), 'sort_map': {'F': (3, 1)}} DEBUG: 25.5 KoboUtilities:_on_device_connection_changed - self.plugin_device_connection_changed.class: <class 'PyQt5.QtCore.pyqtBoundSignal'> DEBUG: 25.5 Methods for self.plugin_device_connection_changed: ['call', 'class', 'delattr', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'gt', 'hash', 'init', 'init_subclass', 'le', 'lt', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'connect', 'disconnect', 'emit', 'signal'] DEBUG: 25.5 Have a Kobo device connected connected DEBUG: 25.5 BEGIN Get Device Path DEBUG: 25.5 Root path of device: F:\ DEBUG: 25.5 END Get Device Path DEBUG: 25.5 KoboUtilities:get_device - self.device_path="F:\" DEBUG: 25.5 KoboUtilities:set_toolbar_button_tooltip - start: text='None' DEBUG: 25.5 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Driver: KoboTouchExtended' Job: 0 Get device information started DeviceJob: 0 Get device information done, calling callback DeviceJob: 0 Get device information callback returned Job: 1 Set library information started DeviceJob: 1 Set library information done, calling callback DeviceJob: 1 Set library information callback returned Job: 2 Get list of books on device started DEBUG: 0.0 KoboTouch:books - oncard='None' 2021-08-07 13:50:16 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:16 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x14233190> DEBUG: 0.0 KoboTouch:books - oncard='None', prefix='F:\' DEBUG: 0.0 Kobo device: Kobo Aura H2O DEBUG: 0.0 Version of driver: (3, 5, 2) Has kepubs: True DEBUG: 0.0 Version of firmware: (4, 26, 16704) Has kepubs: True DEBUG: 0.0 Firmware supports cover image tree: True 2021-08-07 13:50:16 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:16 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x142332F8> DEBUG: 0.0 KoboTouch:books - opts.extra_customization= [] DEBUG: 0.0 KoboTouch:books - driver options= Driver:KoboTouchExtended, Options - format_map: ['kepub', 'epub', 'cbr', 'cbz', 'pdf', 'txt'], use_subdirs: True, read_metadata: True, use_author_sort: False, save_template: {series}{series_index:0>3s| - | - }{title} – {authors}, extra_customization: [], manage_collections: True, collections_columns: #myserie,#mycat,#mygenre, create_collections: True, delete_empty_collections: True, ignore_collections_names: , upload_covers: False, dithered_covers: False, keep_cover_aspect: True, upload_grayscale: False, letterbox_fs_covers: False, letterbox_fs_covers_color: #000000, png_covers: False, show_archived_books: True, show_previews: False, show_recommendations: False, update_series: True, update_core_metadata: False, update_purchased_kepubs: False, update_device_metadata: True, update_subtitle: False, subtitle_template: None, modify_css: False, override_kobo_replace_existing: True, support_newer_firmware: False, debugging_title: , driver_version: 2.8.2, extra_features: True, upload_encumbered: True, skip_failed: True, hyphenate: True, smarten_punctuation: True, clean_markup: True, full_page_numbers: False, disable_hyphenation: False, file_copy_dir: D:\Kepub, hyphenate_chars: 6, hyphenate_chars_before: 3, hyphenate_chars_after: 3, hyphenate_limit_lines: 2 DEBUG: 0.0 KoboTouch:books - prefs['manage_device_metadata']= on_connect DEBUG: 0.0 KoboTouch:books - set_debugging_title to '' DEBUG: 0.0 KoboTouch:books - length bl=0 Job: 0 Get device information finished No details available. Job: 1 Set library information finished No details available. DEBUG: 4.5 KoboTouch:books - length bl after sync=504 DEBUG: 4.5 KoboTouch:books - reading device database DEBUG: 4.5 Database Version: 162 DEBUG: 4.6 KoboTouch:books - shelf list: ['Romanzi', 'Saggistica', 'Romanzi brevi', 'Saggi di Religione', 'Genere Umoristico', 'Genere Saga', 'Genere Letteratura Classica', 'Genere Thriller', 'Genere Sentimentale', 'Serie - My Land', 'Genere Avventura', 'Genere Urban Fantasy', 'Serie - Twilight Saga', 'Genere Fantascienza', 'Serie - Guida Galattica', 'Saggi di Psicologia', 'Serie - Logan McRae', 'Saggi di Storia', 'Genere Erotico', 'Genere Psicologico Introspettivo', 'Genere Fantastico', 'Serie - Maximum Ride', 'Serie - Alice Allevi', 'Genere Fantasy', 'Serie - La Guerra delle due Rose', 'Saggi di Economia', 'Genere Storico', 'Genere Mitologico Epico', 'Serie - Le storie dei re sassoni', 'Serie - A.A.A. Vampiri offresi', 'Serie - Il romanzo di Excalibur', 'Serie - Temperance Brennan', 'Serie - La casa della notte', 'Saggi di Scienze', 'Serie - Sigma Force', "Serie - Libri dell'inizio", 'Serie - The Giver', 'Biografie', 'Serie - Martí Barbany', 'Serie - Trilogia del Male', 'Serie - Starters e Enders', 'Genere Distopico', 'Serie - Le inchieste di Maigret', 'Serie - Hercule Poirot', 'Genere Letture per ragazzi', 'Genere Horror', 'Genere Mistero', 'Genere Gothic', 'Genere Giallo', 'Serie - Miss Marple', 'Serie - Giovani, carine e bugiarde', 'Genere Fiabesco', 'Racconti', 'Saggi di Politica', 'Serie - Hanger Games', 'Serie - Magdeburg', 'Genere Poliziesco', 'Serie - Leggende del Mondo Emerso', 'Serie - Shadowhunters', 'ReadingList', 'Serie - Wake Trilogy', 'Serie - Daniel Vartanian Trilogy', 'Guide', 'Serie - The Revelation Saga', 'Serie - Star Wars: Darth Bane', 'Serie - Maze Runner Series', 'Serie - Trilogia della Sopravvivenza', "Serie - L'Anello dello Stregone", 'Serie - Libri di sangue', 'Serie - The 100', 'Serie - La Spada della Verità', 'Serie - Canti di Hyperion', 'Serie - Matched Trilogy', "Serie - Cronache dell'Età del Bronzo", 'Serie - Jack Reacher', 'Serie - Appunti di un Vampiro', 'Serie - Il Ciclo di Dune', 'Serie - Anita Blake', 'Serie - Divergent Trilogy', 'Serie - The Mortality Doctrine', 'Saggi di Filosofia'] DEBUG: 4.6 KoboTouch:books - query= SELECT Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ImageId, ReadStatus, Description, Publisher , ExpirationStatus, FavouritesIndex, Accessibility, Language, IsDownloaded, ISBN, Series, SeriesNumber, UserID, ExternalId, Subtitle, SeriesID, SeriesNumberFloat FROM content WHERE BookID IS NULL AND ((Accessibility = -1 AND IsDownloaded in ('true', 1 )) OR (Accessibility IN (1,2,8,9) ) ) AND (externalId IS NULL OR externalId = '') AND contentId NOT LIKE 'file:///mnt/sd/%' DEBUG: 10.5 KoboTouch:books - automatically managing metadata DEBUG: 10.5 KoboTouch:books - self.kobo_series_dict= {'The Gathandrian Trilogy': '70fd4e31-6982-5534-a6a9-dc469e8cf399', 'The Rise of the Totalitarians': '7a687212-3dbf-5615-a6d7-892cd43d6923', 'Black Hull': 'd5f3293f-0f2a-5ca5-be44-a89b0300096a', 'The Descent Series': '27a7cbef-16b6-5d95-86e3-449e2fbca6d6', "Angerwolf - La Saga dell'Alfa": 'fc2e5c17-5e2a-5375-a9d2-91cc892b1e64'} DEBUG: 10.5 KoboTouch:books - about to sync_booklists DEBUG: 10.5 USBMS: starting sync_booklists DEBUG: 15.7 USBMS: finished sync_booklists DEBUG: 15.7 KoboTouch:books - have done sync_booklists DEBUG: 15.7 KoboTouch:books - end - oncard='None' DEBUG: 15.7 KoboTouch:books - oncard='carda' DEBUG: 15.7 KoboTouch:books - Asked to process 'carda', but do not have one! DEBUG: 15.7 KoboTouch:books - oncard='cardb' DEBUG: 15.7 KoboTouch:books - Asked to process 'cardb', but do not have one! DeviceJob: 2 Get list of books on device done, calling callback DeviceJob: metadata_downloaded: Starting set_books_in_library DeviceJob: set_books_in_library: books to process= 503 DeviceJob: set_books_in_library finished: time= 0.013520956039428711 DeviceJob: metadata_downloaded: updating views DeviceJob: metadata_downloaded: syncing 2021-08-07 13:50:32 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:32 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x12F615E0> 2021-08-07 13:50:32 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:32 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x12F61820> DeviceJob: metadata_downloaded: refreshing ondevice DeviceJob: metadata_downloaded: sending metadata_available signal DEBUG: 41.6 KoboUtilites:_on_device_metadata_available - Start DEBUG: 41.6 Have a Kobo device connected connected DEBUG: 41.6 BEGIN Get Device Path DEBUG: 41.6 Root path of device: F:\ DEBUG: 41.6 END Get Device Path DEBUG: 41.6 KoboUtilities:get_device - self.device_path="F:\" DEBUG: 41.6 KoboUtilities:get_device - drive_info: {'main': {'location_code': 'main', 'calibre_version': '5.24.0', 'device_name': 'Kobo Aura H2O', 'last_library_uuid': 'e3164029-6ab1-47cb-8467-3e93c577386e', 'device_store_uuid': '602e7c86-e023-4834-87ea-b46189098ae0', 'prefix': 'F:/', 'date_last_connected': '2021-08-07T11:50:16.766850+00:00'}} DEBUG: 41.6 migrate_library_config_if_required - start DEBUG: 41.6 get_library_config - library_config: {'profiles': {'Default': {'forDevice': None, 'updateOptionsStore': {'doFirmwareUpdateCheck': False, 'firmwareUpdateCheckLastTime': 0, 'doEarlyFirmwareUpdate': False}, 'storeOptionsStore': {'storeOnConnect': False, 'promptToStore': True, 'storeIfMoreRecent': False, 'doNotStoreIfReopened': False}}}, 'SchemaVersion': 0.1} DEBUG: 41.6 get_plugin_pref - start - store_name='commonOptionsStore', option='individualDeviceOptions' DEBUG: 41.6 get_prefs - start - store_name='backupOptionsStore' DEBUG: 41.6 get_prefs - start - store_name='updateOptionsStore' DEBUG: 41.6 KoboUtilities:set_toolbar_button_tooltip - start: text='None' DEBUG: 41.6 KoboUtilities:set_toolbar_button_tooltip - device connected. self.device.fwversion= (4, 26, 16704) DEBUG: 41.6 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Connected Device: Kobo Aura H2O Firmware version: 4.26.16704 Driver: KoboTouchExtended' DEBUG: 41.6 KoboUtilites:_on_device_metadata_available - self.current_device_profile: None DEBUG: 41.6 KoboUtilites:_on_device_metadata_available - self.current_backup_config: {'doDailyBackp': False, 'backupEachCOnnection': False, 'backupCopiesToKeepSpin': 5, 'backupDestDirectory': '', 'backupZipDatabase': True} DEBUG: 41.6 Have a Kobo device connected connected DEBUG: 41.6 BEGIN Get Device Path DEBUG: 41.6 Root path of device: F:\ DEBUG: 41.6 END Get Device Path DEBUG: 41.6 KoboUtilities:get_device - self.device_path="F:\" DEBUG: 41.6 KoboUtilities:get_device - drive_info: {'main': {'location_code': 'main', 'calibre_version': '5.24.0', 'device_name': 'Kobo Aura H2O', 'last_library_uuid': 'e3164029-6ab1-47cb-8467-3e93c577386e', 'device_store_uuid': '602e7c86-e023-4834-87ea-b46189098ae0', 'prefix': 'F:/', 'date_last_connected': '2021-08-07T11:50:16.766850+00:00'}} DEBUG: 41.6 migrate_library_config_if_required - start DEBUG: 41.6 get_library_config - library_config: {'profiles': {'Default': {'forDevice': None, 'updateOptionsStore': {'doFirmwareUpdateCheck': False, 'firmwareUpdateCheckLastTime': 0, 'doEarlyFirmwareUpdate': False}, 'storeOptionsStore': {'storeOnConnect': False, 'promptToStore': True, 'storeIfMoreRecent': False, 'doNotStoreIfReopened': False}}}, 'SchemaVersion': 0.1} DEBUG: 41.6 get_plugin_pref - start - store_name='commonOptionsStore', option='individualDeviceOptions' DEBUG: 41.6 get_prefs - start - store_name='backupOptionsStore' DEBUG: 41.6 get_prefs - start - store_name='updateOptionsStore' DEBUG: 41.6 rebuild_menus - self.supports_ratings=True, self.supports_tiles=True DEBUG: 41.6 KoboUtilities:set_toolbar_button_tooltip - start: text='None' DEBUG: 41.6 KoboUtilities:set_toolbar_button_tooltip - device connected. self.device.fwversion= (4, 26, 16704) DEBUG: 41.6 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Connected Device: Kobo Aura H2O Firmware version: 4.26.16704 Driver: KoboTouchExtended' DEBUG: 41.6 rebuild_menus - have device. DeviceJob: 2 Get list of books on device callback returned Job: 3 Send metadata to device started DEBUG: 16.0 KOBO:sync_booklists - start DEBUG: 16.0 KoboTouch:update_device_database_collections - oncard='main' DEBUG: 16.0 KoboTouch::is_supported_fwversion - self.fwversion[:2] (4, 26) DEBUG: 16.0 KoboTouch:update_device_database_collections - set_debugging_title to '' DEBUG: 16.0 KTCollectionsBookList:get_collections - start - collection_attributes= ['#myserie', '#mycat', '#mygenre'] DEBUG: 16.0 KTCollectionsBookList:get_collections - collection_attributes= ['#myserie', '#mycat', '#mygenre'] DEBUG: 16.0 KTCollectionsBookList:get_collections - end Job: 2 Get list of books on device finished No details available. DEBUG: 16.1 No Collections - reseting ReadStatus DEBUG: 16.1 KoboTouch:update_device_database_collections - managing bookshelves and series. DEBUG: 16.1 KoboTouch:update_device_database_collections - about to clear empty bookshelves DEBUG: 16.1 KoboTouch:delete_empty_bookshelves - start DEBUG: 16.1 KoboTouch:delete_empty_bookshelves - delete_query= DELETE FROM Shelf WHERE Shelf._IsSynced = 'false' AND Shelf.InternalName not in ('Shortlist', 'Wishlist') AND (Type IS NULL OR Type <> 'SystemTag') AND NOT EXISTS (SELECT 1 FROM ShelfContent c WHERE Shelf.Name = C.ShelfName AND c._IsDeleted <> 'true') DEBUG: 16.1 KoboTouch:delete_empty_bookshelves - update_query= UPDATE Shelf SET _IsDeleted = 'true' WHERE Shelf._IsSynced = 'true' AND Shelf.InternalName not in ('Shortlist', 'Wishlist') AND (Type IS NULL OR Type <> 'SystemTag') AND NOT EXISTS (SELECT 1 FROM ShelfContent C WHERE Shelf.Name = C.ShelfName AND c._IsDeleted <> 'true') DEBUG: 16.1 KoboTouch:delete_empty_bookshelves - delete_activity_query= DELETE FROM Activity WHERE Type = 'Shelf' AND NOT EXISTS (SELECT 1 FROM Shelf WHERE Shelf.Name = Activity.Id AND Shelf._IsDeleted = 'false') DEBUG: 16.2 KoboTouch:delete_empty_bookshelves - end DEBUG: 16.2 KoboTouch:update_device_database_collections - Number of series set=0 Number of books=0 DEBUG: 16.2 KoboTouch:update_device_database_collections - Number of core metadata set=0 Number of books=0 DEBUG: 16.2 KoboTouch:update_device_database_collections - Finished DEBUG: 16.2 USBMS: starting sync_booklists DEBUG: 20.4 USBMS: finished sync_booklists DEBUG: 20.4 KOBO:sync_booklists - end DeviceJob: 3 Send metadata to device done, calling callback DeviceJob: 3 Send metadata to device callback returned Job: 3 Send metadata to device finished No details available. 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:39 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x12F61778> Job: 4 Upload one book to the device: aaamin started Device using plugboard epub KOBOTOUCHEXTENDED None Setting metadata in: aaamin at: d:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\iv4wko3hcaltmpfmt.epub 2021-08-07 13:50:39 [INFO] KoboTouchExtended:upload_books:Setting FeatureSettings.FullBookPageNumbers to false DEBUG: 22.5 KoboTouch:upload_books - 1 books DEBUG: 22.5 KoboTouch:upload_books - files= ['d:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\iv4wko3hcaltmpfmt.epub'] DEBUG: 22.5 KoboTouch:upload_books: Processing book: aaamin by test DEBUG: 22.5 KoboTouch:upload_books: file=d:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\iv4wko3hcaltmpfmt.epub, name=aaamin - test_1154.epub 2021-08-07 13:50:39 [INFO] KoboTouchExtended:_modify_epub:Adding basic Kobo features to aaamin by test 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:39 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x08B7D958> 2021-08-07 13:50:39 [INFO] KoboTouchExtended:_modify_epub:Failed conversions will be skipped 2021-08-07 13:50:39 [DEBUG] Creating KePub Container for ePub at d:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\iv4wko3hcaltmpfmt.epub 2021-08-07 13:50:39 [DEBUG] Forcing cleanup for file OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [DEBUG] Cleaning markup for file OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:_modify_epub:Calibre details file :: F:\driveinfo.calibre 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:_modify_epub:Driver data file :: d:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\l94kvn6j_KoboTouchExtendedDriverInfo 2021-08-07 13:50:39 [INFO] Copying file 'd:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\l94kvn6j_KoboTouchExtendedDriverInfo' to 'D:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\54em8uxz_epub_container' as 'driverinfo.kte' 2021-08-07 13:50:39 [DEBUG] Found meta node with name=cover 2021-08-07 13:50:39 [INFO] Found cover image ID 'cover' 2021-08-07 13:50:39 [DEBUG] Found an item node with cover ID 2021-08-07 13:50:39 [INFO] Setting cover-image property 2021-08-07 13:50:39 [INFO] Copying file 'd:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\kepub_el9_rulf_hyphenate' to 'D:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\54em8uxz_epub_container' as 'kte-css/hyphenation.css' 2021-08-07 13:50:39 [DEBUG] Adding reference to kte-css/hyphenation.css to file OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [DEBUG] Smartening punctuation for file OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [INFO] Adding extended Kobo features to aaamin by test 2021-08-07 13:50:39 [DEBUG] Adding Kobo spans to OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [WARN] [OEBPS/Text/assassina-5.xhtml] Found only whitespace, not adding spans 2021-08-07 13:50:39 [DEBUG] Adding Kobo divs to OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [INFO] Copying file 'D:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\1mmdl2aq_epub_container\js/kobo.js' to 'D:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\54em8uxz_epub_container' as 'kobo.js' 2021-08-07 13:50:39 [DEBUG] Adding reference to kobo.js to file OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [INFO] Copying file 'd:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\kepub_zvhoy4ue_stylehacks' to 'D:\Users\Stefano\AppData\Local\Temp\calibre_b0tmopx3\54em8uxz_epub_container' as 'kte-css/stylehacks.css' 2021-08-07 13:50:39 [DEBUG] Adding reference to kte-css/stylehacks.css to file OEBPS/Text/assassina-5.xhtml 2021-08-07 13:50:39 [INFO] modify_epub took 0.205576 seconds 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:39 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x08B7D7F0> 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:39 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x08B7DC70> 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:filename_callback:Path - aaamin - test.epub 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:filename_callback:New path - aaamin - test.kepub.epub 2021-08-07 13:50:39 [INFO] KoboTouchExtended:_modify_epub:Generated KePub file copy path: D:\Kepub\aaamin - test.kepub.epub DEBUG: 22.8 KoboTouch:_modify_epub:Processing test - aaamin DEBUG: 22.8 KoboTouch:_modify_epub: no CSS file DEBUG: 22.8 USBMS: uploading 1 books 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:39 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x08B7D808> 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:settings: settings= 2021-08-07 13:50:39 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x08B7D8C8> 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:filename_callback:Path - aaamin - test.epub 2021-08-07 13:50:39 [DEBUG] KoboTouchExtended:filename_callback:New path - aaamin - test.kepub.epub Traceback (most recent call last): File "calibre\customize\ui.py", line 741, in initialize_plugins File "calibre\customize\ui.py", line 65, in load_plugin File "calibre\customize\zipplugin.py", line 293, in load File "importlib__init.py", line 127, in import_module File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 975, in _find_and_load_unlocked File "", line 671, in _load_unlocked File "calibre\customize\zipplugin.py", line 185, in exec_module File "calibre\customize\zipplugin.py", line 181, in get_code File "calibre_plugins.dedrm.init", line 164 print u"{0} v{1}: Copying needed library files from plugin's zip".format(PLUGIN_NAME, PLUGIN_VERSION) ^ SyntaxError: invalid syntax Traceback (most recent call last): File "calibre\customize\ui.py", line 741, in initialize_plugins File "calibre\customize\ui.py", line 65, in load_plugin File "calibre\customize\zipplugin.py", line 293, in load File "importlib__init__.py", line 127, in import_module File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 975, in _find_and_load_unlocked File "", line 671, in _load_unlocked File "calibre\customize\zipplugin.py", line 185, in exec_module File "calibre\customize\zipplugin.py", line 181, in get_code File "calibre_plugins.INMONDADORI.init", line 39 supports_gzip_transfer_encoding = True ^ TabError: inconsistent use of tabs and spaces in indentation DEBUG: 22.9 KoboTouch:upload_cover - path='F:\' filename='aaamin - test.kepub' DEBUG: 22.9 filepath='F:\aaamin - test.kepub.epub' DEBUG: 22.9 USBMS: finished uploading 1 books DEBUG: 22.9 KoboTouch:delete_images - ImageID= file__mnt_onboardaaamin-_test_kepub_epub DEBUG: 22.9 KoboTouch:delete_images - path=F:.kobo-images/242\57\filemnt_onboardaaamin-_test_kepub_epub DEBUG: 22.9 KoboTouch:delete_images - fpath=F:.kobo-images\242\57\filemnt_onboardaaamin-_test_kepub_epub - N3_LIBRARY_FULL.parsed DEBUG: 22.9 KoboTouch:delete_images - fpath=F:.kobo-images\242\57\file____mnt_onboardaaamin-_test_kepub_epub - N3_LIBRARY_GRID.parsed DEBUG: 22.9 KoboTouch:delete_images - fpath=F:.kobo-images\242\57\filemnt_onboardaaamin-_test_kepub_epub - N3_LIBRARY_LIST.parsed DEBUG: 22.9 KoboTouch:delete_images - fpath=F:.kobo-images\242\57\filemnt_onboardaaamin-_test_kepub_epub - AndroidBookLoadTablet_Aspect.parsed DEBUG: 22.9 KoboTouch:delete_images - fpath=F:.kobo-images\242\57\filemnt_onboardaaamin-_test_kepub_epub - N3_FULL.parsed DeviceJob: 4 Upload one book to the device: aaamin done, calling callback DEBUG: 23.0 KoboTouch::add_books_to_metadata - start. metadata=Title : aaamin Title sort : aaamin Author(s) : test [test] Publisher : Newton Compton editori Tags : Romanzo, Thriller Languages : ita Timestamp : 2021-08-07T11:44:53+00:00 Published : 2019-05-01T22:00:00+00:00 Identifiers : isbn:9788822733054 DEBUG: 23.0 KoboTouch::add_books_to_metadata - info=Title : aaamin Title sort : aaamin Author(s) : test [test] Publisher : Newton Compton editori Tags : Romanzo, Thriller Languages : ita Timestamp : 2021-08-07T11:44:53+00:00 Published : 2019-05-01T22:00:00+00:00 Identifiers : isbn:9788822733054 DeviceJob: set_books_in_library: books to process= 504 DeviceJob: set_books_in_library finished: time= 0.009319782257080078 DeviceJob: 4 Upload one book to the device: aaamin callback returned Job: 5 Send metadata to device started DEBUG: 23.0 KOBO:sync_booklists - start DEBUG: 23.0 KoboTouch:update_device_database_collections - oncard='main' DEBUG: 23.0 KoboTouch::is_supported_fwversion - self.fwversion[:2] (4, 26) DEBUG: 23.0 KoboTouch:update_device_database_collections - set_debugging_title to '' DEBUG: 23.0 KTCollectionsBookList:get_collections - start - collection_attributes= ['#myserie', '#mycat', '#mygenre'] DEBUG: 23.0 KTCollectionsBookList:get_collections - collection_attributes= ['#myserie', '#mycat', '#mygenre'] DEBUG: 23.0 KTCollectionsBookList:get_collections - end DEBUG: 23.0 No Collections - reseting ReadStatus DEBUG: 23.0 KoboTouch:update_device_database_collections - managing bookshelves and series. DEBUG: 23.0 KoboTouch:update_device_database_collections - about to clear empty bookshelves DEBUG: 23.0 KoboTouch:delete_empty_bookshelves - start DEBUG: 23.0 KoboTouch:delete_empty_bookshelves - delete_query= DELETE FROM Shelf WHERE Shelf._IsSynced = 'false' AND Shelf.InternalName not in ('Shortlist', 'Wishlist') AND (Type IS NULL OR Type <> 'SystemTag') AND NOT EXISTS (SELECT 1 FROM ShelfContent c WHERE Shelf.Name = C.ShelfName AND c._IsDeleted <> 'true') DEBUG: 23.0 KoboTouch:delete_empty_bookshelves - update_query= UPDATE Shelf SET _IsDeleted = 'true' WHERE Shelf._IsSynced = 'true' AND Shelf.InternalName not in ('Shortlist', 'Wishlist') AND (Type IS NULL OR Type <> 'SystemTag') AND NOT EXISTS (SELECT 1 FROM ShelfContent C WHERE Shelf.Name = C.ShelfName AND c._IsDeleted <> 'true') DEBUG: 23.0 KoboTouch:delete_empty_bookshelves - delete_activity_query= DELETE FROM Activity WHERE Type = 'Shelf' AND NOT EXISTS (SELECT 1 FROM Shelf WHERE Shelf.Name = Activity.Id AND Shelf._IsDeleted = 'false') DEBUG: 23.0 KoboTouch:delete_empty_bookshelves - end DEBUG: 23.0 KoboTouch:update_device_database_collections - Number of series set=0 Number of books=0 DEBUG: 23.0 KoboTouch:update_device_database_collections - Number of core metadata set=0 Number of books=0 DEBUG: 23.0 KoboTouch:update_device_database_collections - Finished DEBUG: 23.0 USBMS: starting sync_booklists Job: 4 Upload one book to the device: aaamin finished No details available. DEBUG: 24.9 USBMS: finished sync_booklists DEBUG: 24.9 KOBO:sync_booklists - end DeviceJob: 5 Send metadata to device done, calling callback DeviceJob: 5 Send metadata to device callback returned Job: 5 Send metadata to device finished No details available. DEBUG: 78.8 KoboUtilities:_on_device_connection_changed - self.plugin_device_connection_changed.class: <class 'PyQt5.QtCore.pyqtBoundSignal'> DEBUG: 78.8 Methods for self.plugin_device_connection_changed: ['call', 'class', 'delattr', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'gt', 'hash', 'init', 'init_subclass', 'le', 'lt', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'connect', 'disconnect', 'emit', 'signal'] DEBUG: 78.8 KoboUtilites:_on_device_connection_changed - Device disconnected DEBUG: 78.8 Have a Kobo device connected connected DEBUG: 78.8 BEGIN Get Device Path DEBUG: 78.8 No device appears to be connected DEBUG: 78.8 END Get Device Path DEBUG: 78.8 KoboUtilities:get_device - self.device_path="" DEBUG: 78.8 rebuild_menus - self.supports_ratings=None, self.supports_tiles=None DEBUG: 78.8 KoboUtilities:set_toolbar_button_tooltip - start: text='None' DEBUG: 78.8 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Driver: KoboTouchExtended' DEBUG: 78.8 KoboUtilities:set_toolbar_button_tooltip - start: text='None' DEBUG: 78.8 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Driver: KoboTouchExtended'

Additional context

The same ebook was transferred with no issues some time ago, with older versions of Calibre/Kobo, but cannot say which was the working version, because some time has passed.

stefano-p commented 3 years ago

I have found what I think is causing the issue. It seems your plugin does not like '-' chars in the name of css class style. For example, the code below causes issues...

p.my-chapter {
    text-align : center;
    color : #000000;
    text-indent : 0px;
    margin-bottom : 5em;
}

... whereas this one is okay.

p.my_chapter {
    text-align : center;
    color : #000000;
    text-indent : 0px;
    margin-bottom : 5em;
}

Can you please check whether you can make your pluging accept '-' chars? Otherwise I would have to manually edit my epubs, that, as I stated, come from the online shop.

jgoguen commented 3 years ago

@stefano-p new version has been uploaded to MobileRead, calibre should pick it up within the next couple hours. Thanks!