]> git.lizzy.rs Git - nhentai.git/blobdiff - nhentai/doujinshi.py
fix for issue #232
[nhentai.git] / nhentai / doujinshi.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 = [