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