]> git.lizzy.rs Git - nhentai.git/commitdiff
fix for issue #232
authorRicter Z <ricterzheng@gmail.com>
Mon, 2 May 2022 08:53:23 +0000 (16:53 +0800)
committerRicter Z <ricterzheng@gmail.com>
Mon, 2 May 2022 08:53:23 +0000 (16:53 +0800)
nhentai/doujinshi.py
nhentai/utils.py

index 8d00e43caf3118c0f76f5182f5369c1bd8d9ee16..b7d03d4ccbe08ef9854967a4afacafe850e29abc 100644 (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 = [
index 835463785a18240fe875911b14f7a4687a4a48e2..936ba2f6641839185780b83f435ad96cead7cb0d 100644 (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()