fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
xml upload: handle utf-8 properly
[redakcja.git]
/
apps
/
wiki
/
views.py
diff --git
a/apps/wiki/views.py
b/apps/wiki/views.py
index
1bc4061
..
319cdba
100644
(file)
--- a/
apps/wiki/views.py
+++ b/
apps/wiki/views.py
@@
-166,13
+166,18
@@
def upload(request):
elif title in existing:
error_list.append((filename, title, _('Title already used in repository.')))
else:
elif title in existing:
error_list.append((filename, title, _('Title already used in repository.')))
else:
- ok_list.append((filename, title))
+ try:
+ zip.read(filename).decode('utf-8') # test read
+ ok_list.append((filename, title))
+ except UnicodeDecodeError:
+ error_list.append((filename, title, _('File should be UTF-8 encoded.')))
titles[title] = filename
titles[title] = filename
+
if not error_list:
for filename, title in ok_list:
storage.create_document(
name=title,
if not error_list:
for filename, title in ok_list:
storage.create_document(
name=title,
- text=zip.read(filename)
+ text=zip.read(filename)
.decode('utf-8')
)
return direct_to_template(request, "wiki/document_upload.html", extra_context={
)
return direct_to_template(request, "wiki/document_upload.html", extra_context={