summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-09-15 00:07:18 +0200
committerGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-09-15 00:07:18 +0200
commitb8eb3857088dbc2c0105a3df87a43e0bf2d7ce66 (patch)
tree1c5fa623a8e7130b1906c555997a379d74ef036b /module/plugins
parent[OpenloadIo] Update __pattern__ (diff)
parentRemove accents from file name #1817 (diff)
downloadpyload-b8eb3857088dbc2c0105a3df87a43e0bf2d7ce66.tar.xz
Merge pull request #1818 from jakubbroz/stable
Remove accents from file name #1817
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/internal/Plugin.py10
-rw-r--r--module/plugins/internal/SimpleHoster.py5
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']: