diff --git a/cps/comic.py b/cps/comic.py index d642eaf6..c950df67 100755 --- a/cps/comic.py +++ b/cps/comic.py @@ -41,11 +41,13 @@ def extractCover(tmp_file_name, original_file_extension): if use_comic_meta: archive = ComicArchive(tmp_file_name) cover_data = None - ext = os.path.splitext(archive.getPageName(0)) - if len(ext) > 1: - extension = ext[1].lower() - if extension == '.jpg' or extension == '.jpeg': - cover_data = archive.getPage(0) + for index, name in enumerate(archive.getPageNameList()): + ext = os.path.splitext(name) + if len(ext) > 1: + extension = ext[1].lower() + if extension == '.jpg' or extension == '.jpeg': + cover_data = archive.getPage(index) + break else: if original_file_extension.upper() == '.CBZ': cf = zipfile.ZipFile(tmp_file_name) @@ -53,7 +55,7 @@ def extractCover(tmp_file_name, original_file_extension): ext = os.path.splitext(name) if len(ext) > 1: extension = ext[1].lower() - if extension == '.jpg': + if extension == '.jpg' or extension == '.jpeg': cover_data = cf.read(name) break elif original_file_extension.upper() == '.CBT': @@ -62,7 +64,7 @@ def extractCover(tmp_file_name, original_file_extension): ext = os.path.splitext(name) if len(ext) > 1: extension = ext[1].lower() - if extension == '.jpg': + if extension == '.jpg' or extension == '.jpeg': cover_data = cf.extractfile(name).read() break prefix = os.path.dirname(tmp_file_name) @@ -87,16 +89,17 @@ def get_comic_info(tmp_file_path, original_file_name, original_file_extension): else: style = None - if style is not None: - loadedMetadata = archive.readMetadata(style) + # if style is not None: + loadedMetadata = archive.readMetadata(style) - lang = loadedMetadata.language - if len(lang) == 2: - loadedMetadata.language = isoLanguages.get(part1=lang).name - elif len(lang) == 3: - loadedMetadata.language = isoLanguages.get(part3=lang).name - else: - loadedMetadata.language = "" + lang = loadedMetadata.language + if lang: + if len(lang) == 2: + loadedMetadata.language = isoLanguages.get(part1=lang).name + elif len(lang) == 3: + loadedMetadata.language = isoLanguages.get(part3=lang).name + else: + loadedMetadata.language = "" return BookMeta( file_path=tmp_file_path, diff --git a/cps/logger.py b/cps/logger.py index 892dd252..54be25e7 100644 --- a/cps/logger.py +++ b/cps/logger.py @@ -95,13 +95,6 @@ def setup(log_file, log_level=None): Configure the logging output. May be called multiple times. ''' - # if debugging, start logging to stderr immediately - if os.environ.get('FLASK_DEBUG', None): - log_file = LOG_TO_STDERR - log_level = logging.DEBUG - - log_file = _absolute_log_file(log_file, DEFAULT_LOG_FILE) - log_level = log_level or DEFAULT_LOG_LEVEL logging.getLogger(__package__).setLevel(log_level) @@ -110,6 +103,8 @@ def setup(log_file, log_level=None): # avoid spamming the log with debug messages from libraries r.setLevel(log_level) + log_file = _absolute_log_file(log_file, DEFAULT_LOG_FILE) + previous_handler = r.handlers[0] if r.handlers else None if previous_handler: # if the log_file has not changed, don't create a new handler @@ -167,3 +162,7 @@ class StderrLogger(object): self.buffer += message except Exception: self.log.debug("Logging Error") + + +# default configuration, before application settngs are applied +setup(LOG_TO_STDERR, logging.DEBUG if os.environ.get('FLASK_DEBUG') else DEFAULT_LOG_LEVEL) diff --git a/cps/opds.py b/cps/opds.py index 657b3861..44e1341d 100644 --- a/cps/opds.py +++ b/cps/opds.py @@ -56,6 +56,7 @@ def requires_basic_auth_if_no_ano(f): @opds.route("/opds/") +@opds.route("/opds") @requires_basic_auth_if_no_ano def feed_index(): return render_xml_template('index.xml') @@ -288,7 +289,7 @@ def check_auth(username, password): username=username.encode('windows-1252') user = ub.session.query(ub.User).filter(func.lower(ub.User.nickname) == username.decode('utf-8').lower()).first() - return bool(user and check_password_hash(user.password, password)) + return bool(user and check_password_hash(str(user.password), password)) def authenticate(): diff --git a/cps/services/__init__.py b/cps/services/__init__.py index 90607160..032ffd0a 100644 --- a/cps/services/__init__.py +++ b/cps/services/__init__.py @@ -26,11 +26,13 @@ log = logger.create() try: from . import goodreads except ImportError as err: - log.warning("goodreads: %s", err) + log.debug("cannot import goodreads, showing authors-metadata will not work: %s", err) goodreads = None try: from . import simpleldap as ldap except ImportError as err: - log.warning("simpleldap: %s", err) + log.debug("cannot import simpleldap, logging in with ldap will not work: %s", err) ldap = None + + diff --git a/cps/templates/layout.html b/cps/templates/layout.html index f22ca70d..dcbbc08f 100644 --- a/cps/templates/layout.html +++ b/cps/templates/layout.html @@ -52,7 +52,7 @@