From: Ricter Z Date: Mon, 2 May 2022 08:53:23 +0000 (+0800) Subject: fix for issue #232 X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=443fcdc7da42e46c680e748c6acfae48c956c5a9;p=nhentai.git fix for issue #232 --- diff --git a/nhentai/doujinshi.py b/nhentai/doujinshi.py index 8d00e43..b7d03d4 100644 --- a/nhentai/doujinshi.py +++ b/nhentai/doujinshi.py @@ -6,6 +6,7 @@ from nhentai.constant import DETAIL_URL, IMAGE_URL from nhentai.logger import logger from nhentai.utils import format_filename +MAX_FIELD_LENGTH = 100 EXT_MAP = { 'j': 'jpg', 'p': 'png', @@ -24,6 +25,13 @@ class DoujinshiInfo(dict): return '' +def trunk_string(string): + if len(string) >= MAX_FIELD_LENGTH: + string = string[:MAX_FIELD_LENGTH] + u'…' + + return string + + class Doujinshi(object): def __init__(self, name=None, pretty_name=None, id=None, img_id=None, ext='', pages=0, name_format='[%i][%a][%t]', **kwargs): @@ -39,9 +47,10 @@ class Doujinshi(object): name_format = name_format.replace('%i', str(self.id)) name_format = name_format.replace('%a', self.info.artists) - name_format = name_format.replace('%t', self.name) - name_format = name_format.replace('%p', self.pretty_name) - name_format = name_format.replace('%s', self.info.subtitle) + + name_format = name_format.replace('%t', trunk_string(self.name)) + name_format = name_format.replace('%p', trunk_string(self.pretty_name)) + name_format = name_format.replace('%s', trunk_string(self.info.subtitle)) self.filename = format_filename(name_format) self.table = [ diff --git a/nhentai/utils.py b/nhentai/utils.py index 8354637..936ba2f 100644 --- a/nhentai/utils.py +++ b/nhentai/utils.py @@ -262,8 +262,9 @@ def format_filename(s): while filename.endswith('.'): filename = filename[:-1] - if len(filename) > 100: - filename = filename[:100] + u'…' + # limit 254 chars + if len(filename) >= 255: + filename = filename[:254] + u'…' # Remove [] from filename filename = filename.replace('[]', '').strip()