Use voussoirkit.stringtools for remove_characters.
This commit is contained in:
parent
4988f6dbdd
commit
01f85d41b6
2 changed files with 5 additions and 19 deletions
|
@ -16,6 +16,7 @@ from voussoirkit import bytestring
|
||||||
from voussoirkit import hms
|
from voussoirkit import hms
|
||||||
from voussoirkit import imagetools
|
from voussoirkit import imagetools
|
||||||
from voussoirkit import pathclass
|
from voussoirkit import pathclass
|
||||||
|
from voussoirkit import stringtools
|
||||||
|
|
||||||
from . import constants
|
from . import constants
|
||||||
from . import exceptions
|
from . import exceptions
|
||||||
|
@ -413,21 +414,6 @@ def read_filebytes(filepath, range_min=0, range_max=None, chunk_size=bytestring.
|
||||||
yield chunk
|
yield chunk
|
||||||
sent_amount += len(chunk)
|
sent_amount += len(chunk)
|
||||||
|
|
||||||
def remove_characters(text, characters):
|
|
||||||
translator = {ord(c): None for c in characters}
|
|
||||||
text = text.translate(translator)
|
|
||||||
return text
|
|
||||||
|
|
||||||
def remove_control_characters(text):
|
|
||||||
'''
|
|
||||||
Thanks Alex Quinn
|
|
||||||
https://stackoverflow.com/a/19016117
|
|
||||||
|
|
||||||
unicodedata.category(character) returns some two-character string
|
|
||||||
where if [0] is a C then the character is a control character.
|
|
||||||
'''
|
|
||||||
return ''.join(c for c in text if unicodedata.category(c)[0] != 'C')
|
|
||||||
|
|
||||||
def remove_path_badchars(filepath, allowed=''):
|
def remove_path_badchars(filepath, allowed=''):
|
||||||
'''
|
'''
|
||||||
Remove the bad characters seen in constants.FILENAME_BADCHARS, except
|
Remove the bad characters seen in constants.FILENAME_BADCHARS, except
|
||||||
|
@ -436,9 +422,9 @@ def remove_path_badchars(filepath, allowed=''):
|
||||||
'file*name' -> 'filename'
|
'file*name' -> 'filename'
|
||||||
('D:\\file*name', allowed=':\\') -> 'D:\\filename'
|
('D:\\file*name', allowed=':\\') -> 'D:\\filename'
|
||||||
'''
|
'''
|
||||||
badchars = remove_characters(constants.FILENAME_BADCHARS, allowed)
|
badchars = stringtools.remove_characters(constants.FILENAME_BADCHARS, allowed)
|
||||||
filepath = remove_characters(filepath, badchars)
|
filepath = stringtools.remove_characters(filepath, badchars)
|
||||||
filepath = remove_control_characters(filepath)
|
filepath = stringtools.remove_control_characters(filepath)
|
||||||
|
|
||||||
filepath = filepath.replace('/', os.sep)
|
filepath = filepath.replace('/', os.sep)
|
||||||
filepath = filepath.replace('\\', os.sep)
|
filepath = filepath.replace('\\', os.sep)
|
||||||
|
|
|
@ -1278,7 +1278,7 @@ class Tag(ObjectBase, GroupableMixin):
|
||||||
# valid_chars = constants.DEFAULT_CONFIGURATION['tag']['valid_chars']
|
# valid_chars = constants.DEFAULT_CONFIGURATION['tag']['valid_chars']
|
||||||
|
|
||||||
name = name.lower()
|
name = name.lower()
|
||||||
name = helpers.remove_control_characters(name)
|
name = stringtools.remove_control_characters(name)
|
||||||
name = re.sub(r'\s+', ' ', name)
|
name = re.sub(r'\s+', ' ', name)
|
||||||
name = name.strip(' .+')
|
name = name.strip(' .+')
|
||||||
name = name.split('+')[0].split('.')[-1]
|
name = name.split('+')[0].split('.')[-1]
|
||||||
|
|
Loading…
Reference in a new issue