#!/usr/bin/env python # -*- coding: utf-8 -*- # This file is part of the Calibre-Web (https://github.com/janeczku/calibre-web) # Copyright (C) 2016-2019 Ben Bennett, OzzieIsaacs # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . from __future__ import division, print_function, unicode_literals import os import re from flask_babel import gettext as _ from . import config from .subproc_wrapper import process_wait def versionKindle(): versions = _(u'not installed') if os.path.exists(config.config_converterpath): try: for lines in process_wait(config.config_converterpath): if re.search('Amazon kindlegen\(', lines): versions = lines except Exception: versions = _(u'Excecution permissions missing') return {'kindlegen' : versions} def versionCalibre(): versions = _(u'not installed') if os.path.exists(config.config_converterpath): try: for lines in process_wait([config.config_converterpath, '--version']): if re.search('ebook-convert.*\(calibre', lines): versions = lines except Exception: versions = _(u'Excecution permissions missing') return {'Calibre converter' : versions} def versioncheck(): if config.config_ebookconverter == 1: return versionKindle() elif config.config_ebookconverter == 2: return versionCalibre() else: return {'ebook_converter':_(u'not configured')}