fix for issue #232

This commit is contained in:
Ricter Z 2022-05-02 16:53:23 +08:00
parent 31b95fe2dd
commit 443fcdc7da
2 changed files with 15 additions and 5 deletions

View File

@ -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 = [

View File

@ -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()