mirror of
https://github.com/django/django.git
synced 2025-09-24 19:23:03 +00:00
Fixed #10254: Changed the regex in get_valid_filename to allow unicode alphanumerics (thanks gulliver). Also updated the file_uploads test for this case to check the name after saving the uploaded file. As it was the test ensured that files with unicode characters in their names could be uploaded, but it wasn't actually ensuring that the unicode characters were preserved through save.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10388 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
ff166a3cdc
commit
668bc4f7be
4 changed files with 51 additions and 14 deletions
|
@ -116,13 +116,13 @@ def get_valid_filename(s):
|
|||
"""
|
||||
Returns the given string converted to a string that can be used for a clean
|
||||
filename. Specifically, leading and trailing spaces are removed; other
|
||||
spaces are converted to underscores; and all non-filename-safe characters
|
||||
are removed.
|
||||
spaces are converted to underscores; and anything that is not a unicode
|
||||
alphanumeric, dash, underscore, or dot, is removed.
|
||||
>>> get_valid_filename("john's portrait in 2004.jpg")
|
||||
u'johns_portrait_in_2004.jpg'
|
||||
"""
|
||||
s = force_unicode(s).strip().replace(' ', '_')
|
||||
return re.sub(r'[^-A-Za-z0-9_.]', '', s)
|
||||
return re.sub(r'(?u)[^-\w.]', '', s)
|
||||
get_valid_filename = allow_lazy(get_valid_filename, unicode)
|
||||
|
||||
def get_text_list(list_, last_word=ugettext_lazy(u'or')):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue