![]() |
#136 |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 46,234
Karma: 168983734
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
I was tempted to do another edit but with 7.26.104 running from source, the error when ejecting a Kobo no longer occurs. Looking at the source for the Kobo driver.py file, it appears to be due to changes in the def device_version_info section now handling None properly.
|
![]() |
![]() |
![]() |
#137 | |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: Mar 2025
Device: Kobo Clara BW
|
Quote:
|
|
![]() |
![]() |
![]() |
#138 | |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: Mar 2025
Device: Kobo Clara BW
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#139 | |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 99
Karma: 8592
Join Date: Aug 2023
Location: New Zealand
Device: Kobo Clara HD, Kobo Libra Colour
|
Quote:
I have no idea about the garbage in the config file, please let me know if you find anything reproducible. |
|
![]() |
![]() |
![]() |
#140 | |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 99
Karma: 8592
Join Date: Aug 2023
Location: New Zealand
Device: Kobo Clara HD, Kobo Libra Colour
|
Quote:
|
|
![]() |
![]() |
![]() |
#141 | |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 46,234
Karma: 168983734
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
Quote:
I reverted to the saved file with the garbage at the end and it seemed to make no difference to 7.26.104. So ghod alone knows when it was added. As to why it seems to work once when I rebuilt the config file? There are some answers the minds of mere mortals are not meant to know. |
|
![]() |
![]() |
![]() |
#142 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 99
Karma: 8592
Join Date: Aug 2023
Location: New Zealand
Device: Kobo Clara HD, Kobo Libra Colour
|
The odd thing is that the plugin wasn't actually passing anything to the function, the function didn't take any parameters until the fix. So wherever the None came from it wasn't the plugin.
|
![]() |
![]() |
![]() |
#143 |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 46,234
Karma: 168983734
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
Actually, the None did come from the plugin. I lifted the line numbers from the error message and at line 2665 in action.py, the following is seen:
Code:
version_info = None device_version_info = device.device_version_info() if device_version_info is not None: Code:
def device_version_info(self): debug_print('device_version_info - start') if not self._device_version_info: version_file = os.path.join(self._main_prefix, KOBO_ROOT_DIR_NAME, 'version') Code:
def device_version_info(self, reload: bool = False): debug_print('device_version_info - start') if self._device_version_info is None or reload: self._device_version_info = [] version_file = os.path.join(self._main_prefix, KOBO_ROOT_DIR_NAME, 'version') |
![]() |
![]() |
![]() |
#144 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 99
Karma: 8592
Join Date: Aug 2023
Location: New Zealand
Device: Kobo Clara HD, Kobo Libra Colour
|
I'm not sure I follow. The "version_info = None" line sets a local variable in the plugin method, the "device_version_info()" method in the device driver doesn't know anything about it.
As far as I can tell from the exception and looking through the driver code a bit, the problem was that the eject() method in the driver set "self._device_version_info" and "self._main_prefix" to None when ejecting, and when the plugin called the device_version_info() method that method tried to reconstruct the version info, but because self._main_prefix was None it failed. The most recent change that fixed it removed the part that set self._device_version_info to None, so the device_version_info() method was able to return that without having to use the self._main_prefix variable. This still seems a bit brittle to me, but I'm not sure the plugin can do anything about it. The right thing to do would be for the device_version_info() method in the driver to better handle the case where self._main_prefix is None. |
![]() |
![]() |
![]() |
#145 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 99
Karma: 8592
Join Date: Aug 2023
Location: New Zealand
Device: Kobo Clara HD, Kobo Libra Colour
|
So just to close this off, there isn't really any reason for the plugin to try to retrieve the device information in that specific code path anyway, so I've just changed it to not do that. This way the error shouldn't happen regardless of how the driver internals behave in this situation.
|
![]() |
![]() |
![]() |
#146 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 99
Karma: 8592
Join Date: Aug 2023
Location: New Zealand
Device: Kobo Clara HD, Kobo Libra Colour
|
I've just released version 2.19.0.
The user-visible changes are:
|
![]() |
![]() |
![]() |
#147 |
Member
![]() Posts: 11
Karma: 10
Join Date: Jul 2014
Device: Kobo Libra Colour
|
As an FYI, when I upgraded to 2.19.0 I get the following error;
calibre, version 7.26.0 ERROR: Unhandled exception: <b>AttributeError</b>:'KoboUtilitiesAction' object has no attribute 'epub_location_like_kepub' calibre 7.26 embedded-python: True Windows-10-10.0.26100-SP0 Windows ('64bit', 'WindowsPE') ('Windows', '10', '10.0.26100') Python 3.11.5 Windows: ('10', '10.0.26100', 'SP0', 'Multiprocessor Free') Interface language: None EXE path: C:\Program Files\Calibre2\calibre.exe Successfully initialized third party plugins: KePub Input (3, 6, 6) && KePub Metadata Reader (3, 4, 3) && KePub Metadata Writer (3, 4, 3) && KePub Output (3, 7, 3) && Kobo Utilities (2, 19, 0) && KoboTouchExtended (3, 7, 3) Traceback (most recent call last): File "calibre\gui2\__init__.py", line 806, in dispatch File "calibre_plugins.koboutilities.action", line 2853, in _store_completed File "calibre_plugins.koboutilities.action", line 3287, in _update_database_columns AttributeError: 'KoboUtilitiesAction' object has no attribute 'epub_location_like_kepub' Rolled back to 2.18.4 and works fine. |
![]() |
![]() |
![]() |
#148 |
Bookish
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,017
Karma: 2003162
Join Date: Jun 2011
Device: PC, t1, t2, t3, Clara BW, Clara HD, Libra 2, Libra Color, Nxtpaper 11
|
What activities did you do to get that error?
I'm on calibre 7.24 and just upgraded the plugin to 2.190.0 and could add/remove and adjust reading status of any ebooks without errors. I'm not using the Kobo Extended 3.7.3 plugin (disabled). Last edited by DrChiper; 03-16-2025 at 06:42 AM. |
![]() |
![]() |
![]() |
#149 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,447
Karma: 8012886
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
|
Quote:
At some point when you have nothing else to do ![]() |
|
![]() |
![]() |
![]() |
#150 |
Member
![]() Posts: 17
Karma: 10
Join Date: May 2020
Device: Boyue Likebook Mars
|
All of a sudden I'm getting this error with kobo utilities. (libra 2 e-reader) It will no longer sync read positions.
I was playing with the kobo touch extended plugin, which i have since removed, if that could of caused this. If this isn't a utilities issue, I can post it where you suggest. calibre, version 7.26.0 ERROR: Unhandled exception: <b>AttributeError</b>:'KoboUtilitiesAction' object has no attribute 'epub_location_like_kepub' calibre 7.26 embedded-python: True Windows-10-10.0.22631-SP0 Windows ('64bit', 'WindowsPE') ('Windows', '10', '10.0.22631') Python 3.11.5 Windows: ('10', '10.0.22631', 'SP0', 'Multiprocessor Free') Interface language: None EXE path: C:\Program Files\Calibre2\calibre.exe Successfully initialized third party plugins: Gather KFX-ZIP (from KFX Input) (2, 22, 0) && DeDRM (10, 0, 3) && Package KFX (from KFX Input) (2, 22, 0) && Barnes & Noble (1, 5, 6) && Goodreads (1, 8, 2) && KFX metadata reader (from KFX Input) (2, 22, 0) && From KFX (2, 22, 0) && KFX Input (2, 22, 0) && Set KFX metadata (from KFX Output) (2, 14, 0) && KFX Output (2, 14, 0) && Kobo Metadata (1, 10, 0) && Kobo Utilities (2, 19, 0) Traceback (most recent call last): File "calibre\gui2\__init__.py", line 806, in dispatch File "calibre_plugins.koboutilities.action", line 2853, in _store_completed File "calibre_plugins.koboutilities.action", line 3287, in _update_database_columns AttributeError: 'KoboUtilitiesAction' object has no attribute 'epub_location_like_kepub' |
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[GUI Plugin] Kobo Utilities | davidfor | Plugins | 3216 | 02-08-2025 04:23 AM |
[GUI Plugin] Noosfere_util, a companion plugin to noosfere DB | lrpirlet | Plugins | 2 | 08-18-2022 03:15 PM |
[GUI Plugin] Save Virtual Libraries To Column (GUI) | chaley | Plugins | 14 | 04-04-2021 05:25 AM |
Kobo Utilities Plugin Question | nikev | Kobo Reader | 10 | 09-25-2018 11:55 PM |