diff options
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/internal/Plugin.py | 10 | ||||
| -rw-r--r-- | module/plugins/internal/SimpleHoster.py | 5 | 
2 files changed, 13 insertions, 2 deletions
| diff --git a/module/plugins/internal/Plugin.py b/module/plugins/internal/Plugin.py index b0c0bb66e..fd8712b44 100644 --- a/module/plugins/internal/Plugin.py +++ b/module/plugins/internal/Plugin.py @@ -7,6 +7,7 @@ import inspect  import os  import re  import urllib +import unicodedata  if os.name != "nt":      import grp @@ -51,6 +52,15 @@ def fixurl(url):      return html_unescape(urllib.unquote(url.decode('unicode-escape'))).strip().rstrip('/') +def fixname(m): +    m = unicodedata.normalize('NFKD', m) +    output = '' +    for c in m: +        if not unicodedata.combining(c): +            output += c +    return output + +  #@TODO: Move to utils in 0.4.10  def timestamp():      return int(time.time() * 1000) diff --git a/module/plugins/internal/SimpleHoster.py b/module/plugins/internal/SimpleHoster.py index 968a80b63..89af22c87 100644 --- a/module/plugins/internal/SimpleHoster.py +++ b/module/plugins/internal/SimpleHoster.py @@ -11,7 +11,7 @@ from module.PyFile import statusMap as _statusMap  from module.network.HTTPRequest import BadHeader  from module.network.RequestFactory import getURL as get_url  from module.plugins.internal.Hoster import Hoster, create_getInfo, parse_fileInfo -from module.plugins.internal.Plugin import Fail, encode, fixurl, replace_patterns, seconds_to_midnight, set_cookie, set_cookies +from module.plugins.internal.Plugin import Fail, encode, fixurl, fixname, replace_patterns, seconds_to_midnight, set_cookie, set_cookies  from module.utils import fixup, fs_encode, parseFileSize as parse_size @@ -175,7 +175,8 @@ class SimpleHoster(Hoster):              info['status'] = 2              if 'N' in info['pattern']: -                info['name'] = replace_patterns(fixurl(info['pattern']['N']), +                name = fixname(info['pattern']['N']) +                info['name'] = replace_patterns(fixurl(name),                                                  cls.NAME_REPLACEMENTS)              if 'S' in info['pattern']: | 
