diff --git a/fb2mobi-gui.py b/fb2mobi-gui.py index bed9ee6..96858a6 100644 --- a/fb2mobi-gui.py +++ b/fb2mobi-gui.py @@ -466,7 +466,7 @@ def process(self, mode): i += 1 if errors > 0: - QMessageBox.warning(self, _translate('fb2mobi-gui', 'Error'), _translate('fb2mobi-gui', 'Error while sending file(s). Check log for details.')) + QMessageBox.warning(self, _translate('fb2mobi-gui', 'Error'), _translate('fb2mobi-gui', 'Error while converting file(s). Check log for details.')) if mode == PROCESS_MODE_KINDLE: diff --git a/fb2mobi_ru.ts b/fb2mobi_ru.ts index 697d327..39bdfe5 100644 --- a/fb2mobi_ru.ts +++ b/fb2mobi_ru.ts @@ -416,17 +416,17 @@ Обработка файла: {0} - + Select files Выберите файлы Fb2 files (*.fb2 *.fb2.zip *.zip) - Файлы fb2 (*.fb2 *.fb2.zip *.zip) + Файлы fb2 (*.fb2 *.fb2.zip *.zip) - + All files (*.*) Все файлы (*.*) @@ -510,5 +510,15 @@ Kindle connected to {0} Kindle подключен как {0} + + + Error while converting file(s). Check log for details. + Возникла ошибка при конвертации файлов. Детали смотрите в лог-файле. + + + + Ebook files (*.fb2 *.fb2.zip *.zip *.epub) + + diff --git a/ui/ebookmeta.py b/ui/ebookmeta.py index e7fbe7f..6575631 100644 --- a/ui/ebookmeta.py +++ b/ui/ebookmeta.py @@ -55,19 +55,22 @@ def __init__(self, file): if os.path.splitext(self.file)[1].lower() == '.zip': self.is_zip = True - if self.book_type == 'fb2': - if self.is_zip: - with ZipFile(self.file) as myzip: - # TODO - warn here if len(myzip.infolist) > 1? - self.zip_info = myzip.infolist()[0] - with myzip.open(self.zip_info, 'r') as myfile: - self.tree = etree.parse(BytesIO(myfile.read()), parser=etree.XMLParser(recover=True)) - self.encoding = self.tree.docinfo.encoding - else: - self.tree = etree.parse(self.file, parser=etree.XMLParser(recover=True)) - self.encoding = self.tree.docinfo.encoding - elif self.book_type == 'epub': - pass + try: + if self.book_type == 'fb2': + if self.is_zip: + with ZipFile(self.file) as myzip: + # TODO - warn here if len(myzip.infolist) > 1? + self.zip_info = myzip.infolist()[0] + with myzip.open(self.zip_info, 'r') as myfile: + self.tree = etree.parse(BytesIO(myfile.read()), parser=etree.XMLParser(recover=True)) + self.encoding = self.tree.docinfo.encoding + else: + self.tree = etree.parse(self.file, parser=etree.XMLParser(recover=True)) + self.encoding = self.tree.docinfo.encoding + elif self.book_type == 'epub': + pass + except: + self.book_type = '' def get_first_series(self): series_name = '' @@ -129,10 +132,13 @@ def get_autors(self): def get(self): - if self.book_type == 'fb2': - self._get_fb2_metadata() - elif self.book_type == 'epub': - self._get_epub_metadata() + try: + if self.book_type == 'fb2': + self._get_fb2_metadata() + elif self.book_type == 'epub': + self._get_epub_metadata() + except: + self.book_type = '' def _get_epub_metadata(self): diff --git a/ui/locale/fb2mobi_ru.qm b/ui/locale/fb2mobi_ru.qm index 12de2d4..6d2d620 100644 Binary files a/ui/locale/fb2mobi_ru.qm and b/ui/locale/fb2mobi_ru.qm differ diff --git a/version.py b/version.py index 5bc6096..bb5799e 100644 --- a/version.py +++ b/version.py @@ -4,5 +4,5 @@ WINDOWS = platform.system().lower() == "windows" -VERSION = u'3.6.44' +VERSION = u'3.6.45'