From 5c40057adf085c13fd95b4f9a4e6f8ed5711c546 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 3 May 2009 12:07:45 -0400 Subject: [PATCH] pdb input: Better reporting of unknown formats --- src/calibre/ebooks/pdb/__init__.py | 28 ++++++++++++++++++++++++++++ src/calibre/ebooks/pdb/input.py | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/pdb/__init__.py b/src/calibre/ebooks/pdb/__init__.py index 614d610078..a7fb2760fd 100644 --- a/src/calibre/ebooks/pdb/__init__.py +++ b/src/calibre/ebooks/pdb/__init__.py @@ -7,17 +7,45 @@ __docformat__ = 'restructuredtext en' from calibre.ebooks.pdb.ereader.reader import Reader as eReader from calibre.ebooks.pdb.ztxt.reader import Reader as zTXT +#from calibre.ebooks.pdb.palmdoc.reader import Reader as PalmDoc FORMATS = { 'PNPdPPrs' : eReader, 'PNRdPPrs' : eReader, 'zTXTGPlm' : zTXT, +# 'TEXtREAd' : PalmDoc, } IDENTITY_TO_NAME = { 'PNPdPPrs' : 'eReader', 'PNRdPPrs' : 'eReader', 'zTXTGPlm' : 'zTXT', + 'TEXtREAd' : 'PalmDOC', + + '.pdfADBE' : 'Adobe Reader', + 'BVokBDIC' : 'BDicty', + 'DB99DBOS' : 'DB (Database program)', + 'vIMGView' : 'FireViewer (ImageViewer)', + 'PmDBPmDB' : 'HanDBase', + 'InfoINDB' : 'InfoView', + 'ToGoToGo' : 'iSilo', + 'SDocSilX' : 'iSilo 3', + 'JbDbJBas' : 'JFile', + 'JfDbJFil' : 'JFile Pro', + 'DATALSdb' : 'LIST', + 'Mdb1Mdb1' : 'MobileDB', + 'BOOKMOBI' : 'MobiPocket', + 'DataPlkr' : 'Plucker', + 'DataSprd' : 'QuickSheet', + 'SM01SMem' : 'SuperMemo', + 'TEXtTlDc' : 'TealDoc', + 'InfoTlIf' : 'TealInfo', + 'DataTlMl' : 'TealMeal', + 'DataTlPt' : 'TealPaint', + 'dataTDBP' : 'ThinkDB', + 'TdatTide' : 'Tides', + 'ToRaTRPW' : 'TomeRaider', + 'BDOCWrdS' : 'WordSmith', } class PDBError(Exception): diff --git a/src/calibre/ebooks/pdb/input.py b/src/calibre/ebooks/pdb/input.py index 24bc8a1025..1a7e32e3eb 100644 --- a/src/calibre/ebooks/pdb/input.py +++ b/src/calibre/ebooks/pdb/input.py @@ -24,7 +24,7 @@ class PDBInput(InputFormatPlugin): Reader = get_reader(header.ident) if Reader is None: - raise PDBError('Unknown format in pdb file. Identity is %s' % header.identity) + raise PDBError('No reader avaliable for format within container.\n Identity is %s. Book type is %s' % (header.ident, IDENTITY_TO_NAME.get(header.ident, _('Unknown')))) log.debug('Detected ebook format as: %s with identity: %s' % (IDENTITY_TO_NAME[header.ident], header.ident))