Use unicodedata for cleaning up whitespace names

This commit is contained in:
Tulir Asokan
2019-08-10 13:23:35 +03:00
parent 76a1e20f13
commit e8ba274776
+2 -1
View File
@@ -15,6 +15,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
from typing import Awaitable, Any, Dict, Iterable, Optional, Union, TYPE_CHECKING
from difflib import SequenceMatcher
import unicodedata
import asyncio
import logging
@@ -194,7 +195,7 @@ class Puppet(CustomPuppetMixin):
whitespace = ("\t\n\r\v\f \u00a0\u034f\u180e\u2063\u202f\u205f\u2800\u3000\u3164\ufeff"
"\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b"
"\u200c\u200d\u200e\u200f")
name = name.strip(whitespace)
name = str(filter(lambda c: unicodedata.category(c) != 'Cf', name.strip(whitespace)))
return name
@classmethod