View Single Post
Old 05-03-2024, 12:30 PM   #170
Pjama
Guru
Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.Pjama ought to be getting tired of karma fortunes by now.
 
Pjama's Avatar
 
Posts: 695
Karma: 2345678
Join Date: Apr 2016
Location: USA
Device: Scribe, Oasis, Clara 2E, Libra 2, Libra Colour
Quote:
Originally Posted by sgmoore View Post
The plugin does not display capture the requests and responses unless you are running in debug mode. (In windows, you can press Ctrl-Shift-R to restart in debug-mode and when you close down, calibre will open the log in notepad)


The relevant lines of code are from https://github.com/ping/libby-calibr...client.py#L820

Code:
    
        download_base, meta = self.prepare_loan(loan)
        # contains nav/toc and spine, manifest
        openbook = self.send_request(meta["urls"]["openbook"])
        rosters: List[Dict] = self.send_request(meta["urls"]["rosters"])
The first line 820 calls self.prepare_loan(loan) and this fires a request to overdrive. If you are running in debug mode you should see a line starting with

Code:
[overdrive_libby/0.1.9] REQUEST: GET https://sentry-read.svc.overdrive.com/open/magazine/card/
followed a few lines later by a line starting

Code:
[overdrive_libby/0.1.9] RESPONSE: 200 https://sentry-read.svc.overdrive.com/open/magazine/card/
This has a few lines of headers and then the body which will start with a line like

Code:
[overdrive_libby/0.1.9] RES BODY: {"urls":{"web":

It is this body that is assigned to the variable meta on line 820 and of course if the body does not have a url for openbook then line 822 will blow up.
Thanks for this, I have a Mac and I looked up how to run it in debug mode. I have a json file which contains info on trying to download Paris Match.

Code:
[
  "Starting job: Downloading Paris Match - 3912 \n</span><span style=\"color:red\">Job: \"Downloading Paris Match - 3912\" failed with error: \n</span><span style=\"color:green\">Traceback (most recent call last):\n  File \"calibre/gui2/threaded_jobs.py\", line 85, in start_work\n  File \"calibre_plugins.overdrive_libby.magazine_download\", line 387, in __call__\n    downloaded_filepath = self._custom_download(\n                          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"calibre_plugins.overdrive_libby.magazine_download\", line 467, in _custom_download\n    download_base, openbook, rosters = libby_client.process_ebook(loan)\n                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"calibre_plugins.overdrive_libby.libby.client\", line 822, in process_ebook\n    openbook = self.send_request(meta[\"urls\"][\"openbook\"])\n                                 ~~~~~~~~~~~~^^^^^^^^^^^^\nKeyError: 'openbook'\n \nCalled with args: (<calibre.gui2.ui.Main object at 0x15327e950>, <calibre_plugins.overdrive_libby.libby.client.LibbyClient object at 0x172a2f5d0>, <calibre_plugins.overdrive_libby.overdrive.client.OverDriveClient object at 0x1723eb350>, {'availabilityType': 'always', 'availableCopies': 0, 'bundledContent': [], 'bundledContentTitleIds': [], 'cardId': '58553149', 'checkoutDate': '2024-04-28T03:30:06+00:00', 'checkoutId': 99830061, 'constraints': {'isDisneyEulaRequired': False}, 'covers': {'cover150Wide': {'height': 200, 'href': 'https://img3.od-cdn.com/ImageType-150/11052-1/{1FEC5F9E-4500-4439-8FB0-3B3EF16BC826}IMG150.JPG', 'isPlaceholderImage': False, 'primaryColor': {'hex': '#B5B5B5', 'rgb': {'blue': 181, 'green': 181, 'red': 181}}, 'width': 150}, 'cover300Wide': {'height': 400, 'href': 'https://img2.od-cdn.com/ImageType-400/11052-1/{1FEC5F9E-4500-4439-8FB0-3B3EF16BC826}IMG400.JPG', 'isPlaceholderImage': False, 'primaryColor': {'hex': '#B9B9B9', 'rgb': {'blue': 185, 'green': 185, 'red': 185}}, 'width': 300}, 'cover510Wide': {'height': 680, 'href': 'https://img2.od-cdn.com/ImageType-100/11052-1/{1FEC5F9E-4500-4439-8FB0-3B3EF16BC826}IMG100.JPG', 'isPlaceholderImage': False, 'primaryColor': {'hex': '#B7B7B7', 'rgb': {'blue': 183, 'green': 183, 'red': 183}}, 'width': 510}}, 'edition': '3912', 'expireDate': '2024-05-12T03:30:06+00:00', 'expires': '2024-05-12T03:30:06+00:00', 'firstCreatorId': 0, 'formats': [{'bundledContent': [], 'fulfillmentType': 'bifocal', 'hasAudioSynchronizedText': False, 'id': 'magazine-overdrive', 'identifiers': [{'type': 'PublisherCatalogNumber', 'value': '6420-641009'}], 'isBundleParent': False, 'isLockedIn': False, 'name': 'OverDrive Magazine', 'onSaleDateUtc': '2024-04-25T02:00:00+00:00', 'rights': [], 'sample': {'href': 'https://samples.overdrive.com/?crid=1fec5f9e-4500-4439-8fb0-3b3ef16bc826&.epub-sample.overdrive.com'}}], 'frequency': {'id': '8', 'name': 'Weekly'}, 'holdsCount': 0, 'id': '10693915', 'isAdvantageFiltered': False, 'isAssigned': False, 'isBundledChild': False, 'isFormatLockedIn': False, 'isHoldable': True, 'isLuckyDayCheckout': False, 'isOwned': True, 'isReturnable': True, 'luckyDayAvailableCopies': 0, 'luckyDayOwnedCopies': 0, 'otherFormats': [], 'overDriveFormat': {'hasAudioSynchronizedText': False, 'id': 'magazine-overdrive', 'name': 'OverDrive Magazine'}, 'ownedCopies': 0, 'pages': 220, 'parentMagazineTitleId': '5856906', 'privateAccountId': -1, 'publishDateText': 'Apr 24 2024  8:00PM', 'publisherAccount': {'id': '43284', 'name': 'OverDrive Magazines'}, 'readiverseFormat': {'hasAudioSynchronizedText': False, 'id': 'magazine-overdrive', 'name': 'OverDrive Magazine'}, 'renewableOn': '2024-05-09T03:30:06+00:00', 'reserveId': '1fec5f9e-4500-4439-8fb0-3b3ef16bc826', 'sample': {'href': 'https://samples.overdrive.com/?crid=1fec5f9e-4500-4439-8fb0-3b3ef16bc826&.epub-sample.overdrive.com'}, 'series': 'Paris Match', 'sortTitle': 'Paris Match', 'subjects': [{'id': '1163', 'name': 'Celebrity & Gossip'}], 'title': 'Paris Match', 'type': {'id': 'magazine', 'name': 'Magazine'}, 'websiteId': '300085'}, {'cardId': '58553149', 'cardName': '2985786', 'createDate': '2023-01-22T00:12:39+00:00', 'authorizeDate': '2023-02-03T01:56:57Z', 'puid': '121207431', 'isSessionUser': False, 'library': {'websiteId': '300085', 'name': 'Houston Public Library', 'logo': {'url': 'https://thunder.cdn.overdrive.com/logo-resized/9770?1589197094'}}, 'advantageKey': 'houstonlibrary', 'ilsName': 'houstonpl', 'username': '2985786', 'emailAddress': None, 'limits': {'hold': 15, 'book': 15, 'audiobook': 15, 'loan': 15}, 'counts': {'hold': 1, 'loan': 5}, 'lendingPeriods': {'book': {'options': [[7, 'days'], [14, 'days']], 'preference': [14, 'days'], 'luckyDay': 7}, 'audiobook': {'options': [[7, 'days'], [14, 'days']], 'preference': [14, 'days'], 'luckyDay': 14}, 'magazine': {'options': [[7, 'days'], [14, 'days'], [21, 'days']], 'preference': [14, 'days']}}, 'accounts': [-1], 'contentMask': -1, 'isVisitingCard': False, 'canPlaceHolds': True, 'canRecommendTitles': True, 'allowReadingHistorySince': '2023-01-22T00:12:39.823Z', 'publicLibraryMaturity': 200}, {'id': 'houstonlibrary', 'preferredKey': 'houstonlibrary', 'visitorKey': 'houstonlibrary-visitor', 'fulfillmentId': 'houstonpl', 'websiteId': 300085, 'accessId': 9770, 'parentCRAccessId': 533, 'name': 'Houston Public Library', 'status': 'Live', 'type': 'DLR', 'isConsortium': False, 'accounts': [-1], 'settings': {'primaryColor': {'hex': '#b32317', 'rgb': {'red': 179, 'green': 35, 'blue': 23}}, 'secondaryColor': {'hex': '#727478', 'rgb': {'red': 114, 'green': 116, 'blue': 120}}, 'logo140X60': {'href': 'https://thunder.cdn.overdrive.com/logo-resized/9770?1589197094'}, 'cookieSetting': 'Never'}, 'links': {'libraryHome': {'href': 'https://houstonlibrary.org/home'}, 'cardAcquisitionUrl': {'href': 'https://houstonlibrary.org/mylink'}, 'librarySupportUrl': {'href': 'https://askhpl.houstonlibrary.org/form?queue_id=6379'}, 'librarySupportEmail': {'href': 'askhpl@houstontx.gov'}}, 'messages': [{'messageId': 13445, 'message': 'We offer eBooks for your Kindle device or reading app. Try one today!', 'settings': {'sampleSiteOnly': False}}, {'messageId': 13446, 'message': '<a href=\"https://meet.libbyapp.com/?utm_origin=lightning&utm_page_genre=toast_note&utm_list=meet_libby&utm_content=libby_sitemessage_05012018\" target=\"_blank\">Try Libby</a>, our new app for enjoying ebooks and audiobooks!', 'settings': {'sampleSiteOnly': False}}, {'messageId': 13503, 'message': 'Check out our <a href=\"https://houstonlibrary.overdrive.com/library/kids\">Kids</a> and <a href=\"https://houstonlibrary.overdrive.com/library/teens\">Teens</a> pages too!', 'settings': {'sampleSiteOnly': False}}, {'messageId': 15012, 'message': 'Check out upcoming HPL events! Go to our <a href=\"https://houstonlibrary.libcal.com/calendar/events?cid=15272&t=d&d=0000-00-00&cal=15272&inc=0\" target=\"_blank\">events calendar</a> for information and to sign up.', 'settings': {'sampleSiteOnly': False}}], 'recommendToLibraryEnabled': True, 'allowRecommendToLibrary': True, 'isAutocompleteEnabled': True, 'hasAdvantageAccounts': False, 'defaultLanguage': {'languageCodes': ['en', 'en-029', 'en-AU', 'en-BZ', 'en-CA', 'en-GB', 'en-IE', 'en-IN', 'en-JM', 'en-MY', 'en-NZ', 'en-PH', 'en-SG', 'en-TT', 'en-US', 'en-ZA', 'en-ZW'], 'displayName': 'English', 'nativeDisplayName': 'English', 'defaultLanguageCode': 'en'}, 'supportedLanguages': [{'languageCodes': ['en', 'en-029', 'en-AU', 'en-BZ', 'en-CA', 'en-GB', 'en-IE', 'en-IN', 'en-JM', 'en-MY', 'en-NZ', 'en-PH', 'en-SG', 'en-TT', 'en-US', 'en-ZA', 'en-ZW'], 'displayName': 'English', 'nativeDisplayName': 'English', 'defaultLanguageCode': 'en'}], 'lastModifiedDate': '2024-05-02T15:05:22.5257132Z', 'isInstantAccessEnabled': False, 'formats': [{'mediaType': 'ebook', 'id': 'ebook-pdf-adobe', 'name': 'PDF eBook'}, {'mediaType': 'ebook', 'id': 'ebook-media-do', 'name': 'MediaDo eBook'}, {'mediaType': 'ebook', 'id': 'ebook-epub-adobe', 'name': 'EPUB eBook'}, {'mediaType': 'ebook', 'id': 'ebook-kobo', 'name': 'Kobo eBook'}, {'mediaType': 'ebook', 'id': 'ebook-kindle', 'name': 'Kindle Book'}, {'mediaType': 'audiobook', 'id': 'audiobook-mp3', 'name': 'MP3 audiobook'}, {'mediaType': 'magazine', 'id': 'magazine-overdrive', 'name': 'OverDrive Magazine'}, {'mediaType': 'ebook', 'id': 'ebook-overdrive', 'name': 'OverDrive Read'}, {'mediaType': 'audiobook', 'id': 'audiobook-overdrive', 'name': 'OverDrive Listen audiobook'}, {'mediaType': 'ntc', 'id': 'ntc-pay-per-access', 'name': 'External service'}, {'mediaType': 'ntc', 'id': 'ntc-subscription', 'name': 'External service'}], 'isReadingHistoryEnabled': True, 'primaryPlatform': 'lightning', 'enabledPlatforms': ['lightning', 'libby'], 'visitableLibraries': [], 'visitorsCanPlaceHolds': False, 'visitorsCanRecommendTitles': False, 'visitorsHaveLowerHoldPriority': False, 'luckyDayPreferredLendingPeriods': {'ebook': 7, 'audiobook': 14}, 'isAuroraEnabled': False, 'isLexisNexis': False, 'isLuckyDayEnabled': True, 'canAddLibrariesInSora': True, 'areLuckyDayTitlesAllocated': True, 'isDemo': False, 'allowDeepSearch': True, 'allowAnonymousSampling': True, 'showcaseTarget': 'default', '__cached_at': 1714663000.3159292}, <LibbyFormats.MagazineOverDrive: 'magazine-overdrive'>, 0, None, '10693915.epub', ['']) {'notifications': <queue.Queue object at 0x172539750>, 'abort': <threading.Event at 0x17253ab50: unset>, 'log': <calibre.utils.logging.GUILog object at 0x17233aa90>} \n</span>",
  "Starting job: Downloading Paris Match - 3912 \nJob: \"Downloading Paris Match - 3912\" failed with error: \nTraceback (most recent call last):\n  File \"calibre/gui2/threaded_jobs.py\", line 85, in start_work\n  File \"calibre_plugins.overdrive_libby.magazine_download\", line 387, in __call__\n    downloaded_filepath = self._custom_download(\n                          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"calibre_plugins.overdrive_libby.magazine_download\", line 467, in _custom_download\n    download_base, openbook, rosters = libby_client.process_ebook(loan)\n                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"calibre_plugins.overdrive_libby.libby.client\", line 822, in process_ebook\n    openbook = self.send_request(meta[\"urls\"][\"openbook\"])\n                                 ~~~~~~~~~~~~^^^^^^^^^^^^\nKeyError: 'openbook'\n \nCalled with args: (<calibre.gui2.ui.Main object at 0x15327e950>, <calibre_plugins.overdrive_libby.libby.client.LibbyClient object at 0x172a2f5d0>, <calibre_plugins.overdrive_libby.overdrive.client.OverDriveClient object at 0x1723eb350>, {'availabilityType': 'always', 'availableCopies': 0, 'bundledContent': [], 'bundledContentTitleIds': [], 'cardId': '58553149', 'checkoutDate': '2024-04-28T03:30:06+00:00', 'checkoutId': 99830061, 'constraints': {'isDisneyEulaRequired': False}, 'covers': {'cover150Wide': {'height': 200, 'href': 'https://img3.od-cdn.com/ImageType-150/11052-1/{1FEC5F9E-4500-4439-8FB0-3B3EF16BC826}IMG150.JPG', 'isPlaceholderImage': False, 'primaryColor': {'hex': '#B5B5B5', 'rgb': {'blue': 181, 'green': 181, 'red': 181}}, 'width': 150}, 'cover300Wide': {'height': 400, 'href': 'https://img2.od-cdn.com/ImageType-400/11052-1/{1FEC5F9E-4500-4439-8FB0-3B3EF16BC826}IMG400.JPG', 'isPlaceholderImage': False, 'primaryColor': {'hex': '#B9B9B9', 'rgb': {'blue': 185, 'green': 185, 'red': 185}}, 'width': 300}, 'cover510Wide': {'height': 680, 'href': 'https://img2.od-cdn.com/ImageType-100/11052-1/{1FEC5F9E-4500-4439-8FB0-3B3EF16BC826}IMG100.JPG', 'isPlaceholderImage': False, 'primaryColor': {'hex': '#B7B7B7', 'rgb': {'blue': 183, 'green': 183, 'red': 183}}, 'width': 510}}, 'edition': '3912', 'expireDate': '2024-05-12T03:30:06+00:00', 'expires': '2024-05-12T03:30:06+00:00', 'firstCreatorId': 0, 'formats': [{'bundledContent': [], 'fulfillmentType': 'bifocal', 'hasAudioSynchronizedText': False, 'id': 'magazine-overdrive', 'identifiers': [{'type': 'PublisherCatalogNumber', 'value': '6420-641009'}], 'isBundleParent': False, 'isLockedIn': False, 'name': 'OverDrive Magazine', 'onSaleDateUtc': '2024-04-25T02:00:00+00:00', 'rights': [], 'sample': {'href': 'https://samples.overdrive.com/?crid=1fec5f9e-4500-4439-8fb0-3b3ef16bc826&.epub-sample.overdrive.com'}}], 'frequency': {'id': '8', 'name': 'Weekly'}, 'holdsCount': 0, 'id': '10693915', 'isAdvantageFiltered': False, 'isAssigned': False, 'isBundledChild': False, 'isFormatLockedIn': False, 'isHoldable': True, 'isLuckyDayCheckout': False, 'isOwned': True, 'isReturnable': True, 'luckyDayAvailableCopies': 0, 'luckyDayOwnedCopies': 0, 'otherFormats': [], 'overDriveFormat': {'hasAudioSynchronizedText': False, 'id': 'magazine-overdrive', 'name': 'OverDrive Magazine'}, 'ownedCopies': 0, 'pages': 220, 'parentMagazineTitleId': '5856906', 'privateAccountId': -1, 'publishDateText': 'Apr 24 2024  8:00PM', 'publisherAccount': {'id': '43284', 'name': 'OverDrive Magazines'}, 'readiverseFormat': {'hasAudioSynchronizedText': False, 'id': 'magazine-overdrive', 'name': 'OverDrive Magazine'}, 'renewableOn': '2024-05-09T03:30:06+00:00', 'reserveId': '1fec5f9e-4500-4439-8fb0-3b3ef16bc826', 'sample': {'href': 'https://samples.overdrive.com/?crid=1fec5f9e-4500-4439-8fb0-3b3ef16bc826&.epub-sample.overdrive.com'}, 'series': 'Paris Match', 'sortTitle': 'Paris Match', 'subjects': [{'id': '1163', 'name': 'Celebrity & Gossip'}], 'title': 'Paris Match', 'type': {'id': 'magazine', 'name': 'Magazine'}, 'websiteId': '300085'}, {'cardId': '58553149', 'cardName': '2985786', 'createDate': '2023-01-22T00:12:39+00:00', 'authorizeDate': '2023-02-03T01:56:57Z', 'puid': '121207431', 'isSessionUser': False, 'library': {'websiteId': '300085', 'name': 'Houston Public Library', 'logo': {'url': 'https://thunder.cdn.overdrive.com/logo-resized/9770?1589197094'}}, 'advantageKey': 'houstonlibrary', 'ilsName': 'houstonpl', 'username': '2985786', 'emailAddress': None, 'limits': {'hold': 15, 'book': 15, 'audiobook': 15, 'loan': 15}, 'counts': {'hold': 1, 'loan': 5}, 'lendingPeriods': {'book': {'options': [[7, 'days'], [14, 'days']], 'preference': [14, 'days'], 'luckyDay': 7}, 'audiobook': {'options': [[7, 'days'], [14, 'days']], 'preference': [14, 'days'], 'luckyDay': 14}, 'magazine': {'options': [[7, 'days'], [14, 'days'], [21, 'days']], 'preference': [14, 'days']}}, 'accounts': [-1], 'contentMask': -1, 'isVisitingCard': False, 'canPlaceHolds': True, 'canRecommendTitles': True, 'allowReadingHistorySince': '2023-01-22T00:12:39.823Z', 'publicLibraryMaturity': 200}, {'id': 'houstonlibrary', 'preferredKey': 'houstonlibrary', 'visitorKey': 'houstonlibrary-visitor', 'fulfillmentId': 'houstonpl', 'websiteId': 300085, 'accessId': 9770, 'parentCRAccessId': 533, 'name': 'Houston Public Library', 'status': 'Live', 'type': 'DLR', 'isConsortium': False, 'accounts': [-1], 'settings': {'primaryColor': {'hex': '#b32317', 'rgb': {'red': 179, 'green': 35, 'blue': 23}}, 'secondaryColor': {'hex': '#727478', 'rgb': {'red': 114, 'green': 116, 'blue': 120}}, 'logo140X60': {'href': 'https://thunder.cdn.overdrive.com/logo-resized/9770?1589197094'}, 'cookieSetting': 'Never'}, 'links': {'libraryHome': {'href': 'https://houstonlibrary.org/home'}, 'cardAcquisitionUrl': {'href': 'https://houstonlibrary.org/mylink'}, 'librarySupportUrl': {'href': 'https://askhpl.houstonlibrary.org/form?queue_id=6379'}, 'librarySupportEmail': {'href': 'askhpl@houstontx.gov'}}, 'messages': [{'messageId': 13445, 'message': 'We offer eBooks for your Kindle device or reading app. Try one today!', 'settings': {'sampleSiteOnly': False}}, {'messageId': 13446, 'message': '<a href=\"https://meet.libbyapp.com/?utm_origin=lightning&utm_page_genre=toast_note&utm_list=meet_libby&utm_content=libby_sitemessage_05012018\" target=\"_blank\">Try Libby</a>, our new app for enjoying ebooks and audiobooks!', 'settings': {'sampleSiteOnly': False}}, {'messageId': 13503, 'message': 'Check out our <a href=\"https://houstonlibrary.overdrive.com/library/kids\">Kids</a> and <a href=\"https://houstonlibrary.overdrive.com/library/teens\">Teens</a> pages too!', 'settings': {'sampleSiteOnly': False}}, {'messageId': 15012, 'message': 'Check out upcoming HPL events! Go to our <a href=\"https://houstonlibrary.libcal.com/calendar/events?cid=15272&t=d&d=0000-00-00&cal=15272&inc=0\" target=\"_blank\">events calendar</a> for information and to sign up.', 'settings': {'sampleSiteOnly': False}}], 'recommendToLibraryEnabled': True, 'allowRecommendToLibrary': True, 'isAutocompleteEnabled': True, 'hasAdvantageAccounts': False, 'defaultLanguage': {'languageCodes': ['en', 'en-029', 'en-AU', 'en-BZ', 'en-CA', 'en-GB', 'en-IE', 'en-IN', 'en-JM', 'en-MY', 'en-NZ', 'en-PH', 'en-SG', 'en-TT', 'en-US', 'en-ZA', 'en-ZW'], 'displayName': 'English', 'nativeDisplayName': 'English', 'defaultLanguageCode': 'en'}, 'supportedLanguages': [{'languageCodes': ['en', 'en-029', 'en-AU', 'en-BZ', 'en-CA', 'en-GB', 'en-IE', 'en-IN', 'en-JM', 'en-MY', 'en-NZ', 'en-PH', 'en-SG', 'en-TT', 'en-US', 'en-ZA', 'en-ZW'], 'displayName': 'English', 'nativeDisplayName': 'English', 'defaultLanguageCode': 'en'}], 'lastModifiedDate': '2024-05-02T15:05:22.5257132Z', 'isInstantAccessEnabled': False, 'formats': [{'mediaType': 'ebook', 'id': 'ebook-pdf-adobe', 'name': 'PDF eBook'}, {'mediaType': 'ebook', 'id': 'ebook-media-do', 'name': 'MediaDo eBook'}, {'mediaType': 'ebook', 'id': 'ebook-epub-adobe', 'name': 'EPUB eBook'}, {'mediaType': 'ebook', 'id': 'ebook-kobo', 'name': 'Kobo eBook'}, {'mediaType': 'ebook', 'id': 'ebook-kindle', 'name': 'Kindle Book'}, {'mediaType': 'audiobook', 'id': 'audiobook-mp3', 'name': 'MP3 audiobook'}, {'mediaType': 'magazine', 'id': 'magazine-overdrive', 'name': 'OverDrive Magazine'}, {'mediaType': 'ebook', 'id': 'ebook-overdrive', 'name': 'OverDrive Read'}, {'mediaType': 'audiobook', 'id': 'audiobook-overdrive', 'name': 'OverDrive Listen audiobook'}, {'mediaType': 'ntc', 'id': 'ntc-pay-per-access', 'name': 'External service'}, {'mediaType': 'ntc', 'id': 'ntc-subscription', 'name': 'External service'}], 'isReadingHistoryEnabled': True, 'primaryPlatform': 'lightning', 'enabledPlatforms': ['lightning', 'libby'], 'visitableLibraries': [], 'visitorsCanPlaceHolds': False, 'visitorsCanRecommendTitles': False, 'visitorsHaveLowerHoldPriority': False, 'luckyDayPreferredLendingPeriods': {'ebook': 7, 'audiobook': 14}, 'isAuroraEnabled': False, 'isLexisNexis': False, 'isLuckyDayEnabled': True, 'canAddLibrariesInSora': True, 'areLuckyDayTitlesAllocated': True, 'isDemo': False, 'allowDeepSearch': True, 'allowAnonymousSampling': True, 'showcaseTarget': 'default', '__cached_at': 1714663000.3159292}, <LibbyFormats.MagazineOverDrive: 'magazine-overdrive'>, 0, None, '10693915.epub', ['']) {'notifications': <queue.Queue object at 0x172539750>, 'abort': <threading.Event at 0x17253ab50: unset>, 'log': <calibre.utils.logging.GUILog object at 0x17233aa90>} \n"
]

Last edited by Pjama; 05-03-2024 at 07:07 PM. Reason: Added debug info (I think)
Pjama is offline   Reply With Quote