pystars / bumerang

video portal
2 stars 2 forks source link

Загрузка видео файлов с киррилицой - ошибка загрузки #44

Closed dashkov closed 12 years ago

dashkov commented 12 years ago

Описание:

Exception Type: UnicodeEncodeError - после загрузки видео файлов.

Действия пользователя:

Нажал кнопку "Сохранить" и после подгрузки видео до 100% появилась ошибка. Дополнительные тесты показали, что загрузчик не воспринимает названия видеофайлов на кириллице.

UnicodeEncodeError at /admin/video/video/add/ 'ascii' codec can't encode characters in position 20-27: ordinal not in range(128) Request Method: POST Request URL: http://62.76.179.205/admin/video/video/add/ Django Version: 1.3.1 Exception Type: UnicodeEncodeError Exception Value:
'ascii' codec can't encode characters in position 20-27: ordinal not in range(128) Exception Location: ./apps/video/mediainfo.py in get_metadata, line 81 Python Executable: /home/web/.virtualenvs/bumerang/bin/uwsgi Python Version: 2.7.1 Python Path:
['.', '', '/home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/home/web/.virtualenvs/bumerang/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/home/web/.virtualenvs/bumerang/lib/python2.7', '/home/web/.virtualenvs/bumerang/lib/python2.7/plat-linux2', '/home/web/.virtualenvs/bumerang/lib/python2.7/lib-tk', '/home/web/.virtualenvs/bumerang/lib/python2.7/lib-old', '/home/web/.virtualenvs/bumerang/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib64/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib64/python2.7/lib-tk', '/home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages', '/home/web/.virtualenvs/bumerang/lib/python2.7/site-packages'] Server time: Пнд, 16 Янв 2012 18:40:26 +0400 Unicode error hint

The string that could not be encoded/decoded was: edia/Открытие 900. Traceback Switch to copy-and-paste view

/home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/core/handlers/base.py in get_response response = callback(request, _callback_args, _callback_kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/contrib/admin/options.py in wrapper return self.admin_site.admin_view(view)(_args, _kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/utils/decorators.py in _wrapped_view response = view_func(request, _args, _kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/views/decorators/cache.py in _wrapped_view_func response = view_func(request, _args, _kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/contrib/admin/sites.py in inner return view(request, _args, _kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/utils/decorators.py in _wrapper return bound_func(_args, _kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/utils/decorators.py in _wrapped_view response = view_func(request, _args, _kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/utils/decorators.py in bound_func return func(self, _args2, _kwargs2) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/db/transaction.py in inner res = func(_args, *_kwargs) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/contrib/admin/options.py in add_view self.save_model(request, new_object, form, change=False) ... ▶ Local vars /home/web/.virtualenvs/bumerang/local/lib/python2.7/site-packages/django/contrib/admin/options.py in save_model obj.save() ... ▶ Local vars ./apps/video/models.py in save minfo = get_metadata(file_field.path, **query) ... ▶ Local vars ./apps/video/mediainfo.py in get_metadata cmd = ['mediainfo', '--Inform=file://%s' % STDIN_DEVICE, str(filename)] ... ▶ Local vars Request information

GET No GET data POST Variable Value created_0
u'16.01.2012' created_1
u'18:33:34' manager u'\u0422\u0430\u0442\u044c\u044f\u043d\u0430 \u041f\u0443\u0441\u0442\u044b\u043d\u043e\u0432\u0430' year
u'2010' owner
u'1' festivals
u'\u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 \u0424\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c \u0442\u0435\u0441\u0442 1 ' _save
u'\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c' album
u'1' city
u'\u041c\u043e\u0441\u043a\u0432\u0430' title
u'\u0422\u0435\u0441\u0442 1' agency
u'\u0434\u0435\u0442\u0441\u043a\u0430\u044f \u0442\u0435\u043b\u0435\u0430\u043a\u0430\u0434\u0435\u043c\u0438\u044f "\u041e\u0441\u0442\u0430\u043d\u043a\u0438\u043d\u043e' access
u'1' initial-created_1
u'18:33:34' initial-created_0
u'16.01.2012' csrfmiddlewaretoken u'ef4d9a33e2f123ef3d47100540c0ba35' category
u'1' description u'\u041f\u043e\u0442\u0440\u0435\u043f\u0430\u043d\u043d\u0430\u044f \u043a\u0443\u0440\u0442\u043a\u0430 \u0434\u0435\u0434\u0430 \u0441 \u043e\u0440\u0434\u0435\u043d\u0430\u043c\u0438 - \u044d\u0442\u043e \u043f\u0430\u043c\u044f\u0442\u044c \u043e \u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u0432\u043e\u0439\u043d\u0435... \r\n\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 \u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 1 ' authors u'\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440 \u0421\u0435\u043c\u0435\u043d\u043e\u0432 ' genre
u'2' slug
u'test-1' published_in_archive
u'on' country u'\u0420\u043e\u0441\u0441\u0438\u044f' teachers
u'\u0422\u0430\u0442\u044c\u044f\u043d\u0430 \u041f\u0443\u0441\u0442\u044b\u043d\u043e\u0432\u0430' FILES Variable Value hq_file <TemporaryUploadedFile: Открытие 900.mp4 (video/mp4)> preview <TemporaryUploadedFile: Открытие.png (image/png)> mq_file <TemporaryUploadedFile: Открытие 380.mp4 (video/mp4)> lq_file <TemporaryUploadedFile: Открытие 240.mp4 (video/mp4)> original_file
<TemporaryUploadedFile: Открытие 240.mp4 (video/mp4)> COOKIES Variable Value csrftoken
'ef4d9a33e2f123ef3d47100540c0ba35' sessionid
'2e31fef068dc9316dccfcd0240086e31' META Variable Value wsgi.multiprocess
False HTTP_REFERER
'http://62.76.179.205/admin/video/video/add/' SCRIPT_NAME u'' REQUEST_METHOD
'POST' PATH_INFO
u'/admin/video/video/add/' HTTP_ORIGIN 'http://62.76.179.205' SERVER_PROTOCOL 'HTTP/1.1' QUERY_STRING
'' CONTENT_LENGTH
'24309462' HTTP_ACCEPTCHARSET 'windows-1251,utf-8;q=0.7,;q=0.3' HTTP_USER_AGENT 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'sessionid=2e31fef068dc9316dccfcd0240086e31; csrftoken=ef4d9a33e2f123ef3d47100540c0ba35' SERVER_NAME '62.76.179.205' REMOTE_ADDR '95.84.185.43' wsgi.url_scheme 'http' SERVER_PORT '80' uwsgi.node
'54351-5.clodo.ru' DOCUMENT_ROOT
'/web/bumerang' HTTP_CONTENT_LENGTH '24309462' wsgi.input
<uwsgi._Input object at 0x14573e0> HTTP_HOST
'62.76.179.205' wsgi.multithread
False HTTP_CACHE_CONTROL
'max-age=0' HTTP_CONTENT_TYPE
'multipart/form-data; boundary=----WebKitFormBoundaryO1kuSEgJ1PfiBrKH' REQUEST_URI '/admin/video/video/add/' HTTPACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,/_;q=0.8' wsgi.version
(1, 0) wsgi.run_once
False wsgi.errors <open file 'wsgi_input', mode 'w' at 0x151ee40> REMOTE_PORT '1778' HTTP_ACCEPT_LANGUAGE
'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4' uwsgi.version
'0.9.9.3' CONTENT_TYPE
'multipart/form-data; boundary=----WebKitFormBoundaryO1kuSEgJ1PfiBrKH' wsgi.file_wrapper
'' CSRF_COOKIE 'ef4d9a33e2f123ef3d47100540c0ba35' HTTP_ACCEPT_ENCODING
'gzip,deflate,sdch' Settings Using settings module settings Setting Value DEBUG_TOOLBAR_PANELS
('debug_toolbar.panels.version.VersionDebugPanel', 'debug_toolbar.panels.timer.TimerDebugPanel', 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', 'debug_toolbar.panels.headers.HeaderDebugPanel', 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', 'debug_toolbar.panels.template.TemplateDebugPanel', 'debug_toolbar.panels.sql.SQLDebugPanel', 'debug_toolbar.panels.signals.SignalDebugPanel', 'debug_toolbar.panels.logger.LoggingPanel') USE_L10N
True TINYMCE_JS_ROOT '/web/bumerang/media/tiny_mce' USE_THOUSAND_SEPARATOR
False LANGUAGE_CODE
'ru-RU' ROOT_URLCONF
'urls' MANAGERS
() DEFAULT_CHARSET 'utf-8' STATIC_ROOT '/web/bumerang/static' TEST_DATABASE_CHARSET
None MESSAGE_STORAGE 'django.contrib.messages.storage.session.SessionStorage' DATABASE_HOST
'' IGNORABLE_404_STARTS
('/cgi-bin/', '/_vti_bin', '/_vti_inf') SEND_BROKEN_LINK_EMAILS False URL_VALIDATOR_USER_AGENT
'Django/1.3.1 (http://www.djangoproject.com)' STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') FILEBROWSER_DIRECTORY
'uploads/' SESSION_COOKIE_DOMAIN
None SESSION_COOKIE_NAME 'sessionid' COMMENTS_MODERATORS_GROUP
None TIME_INPUTFORMATS
('%H:%M:%S', '%H:%M') DATABASES
{'default': {'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': 'bumerang.db', 'OPTIONS': {}, 'PASSWORD': '
**_', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'Europe/Moscow', 'USER': ''}} TEST_DATABASE_NAME
None FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') DEFAULT_CONTENT_TYPE
'text/html' APPEND_SLASH
True FIRST_DAY_OF_WEEK
0 DATABASE_ROUTERS
[] TINYMCE_PLUGINS ['safari', 'table', 'advlink', 'advimage', 'iespell', 'inlinepopups', 'media', 'searchreplace', 'contextmenu', 'paste', 'wordcount'] YEAR_MONTH_FORMAT
'F Y' STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage' KEEP_LOGGED_KEY 'keep_me_logged' SERVER_EMAIL
'root@localhost' SESSION_COOKIE_PATH '/' USE_X_FORWARDED_HOST
False IGNORABLE_404_ENDS
('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php') MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'apps.accounts.middleware.KeepLoggedInMiddleware') USE_I18N
True THOUSAND_SEPARATOR
',' SECRETKEY
'**
****_' LANGUAGE_COOKIE_NAME
'django_language' FILE_UPLOAD_TEMP_DIR
None VIDEO_UPLOAD_PATH
'/web/bumerang/media/originals/' TRANSACTIONS_MANAGED
False LOGGING_CONFIG
'django.utils.log.dictConfig' SESSION_COOKIE_AGE
1209600 TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') TEMPLATE_DEBUG
True AUTHENTICATION_BACKENDS ('apps.accounts.backends.EmailAuthBackend',) TEST_DATABASE_COLLATION None FORCE_SCRIPT_NAME
None CACHE_BACKEND
'locmem://' SESSION_COOKIE_SECURE
False CSRF_COOKIE_DOMAIN
None FILE_CHARSET
'utf-8' DEBUG
True SESSION_FILE_PATH
None DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage' INSTALLED_APPS
['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'sitetree', 'django.contrib.flatpages', 'django.contrib.staticfiles', 'grappelli', 'filebrowser', 'django.contrib.admin', 'django.contrib.admindocs', 'apps.bumerang_site', 'apps.news', 'apps.advices', 'apps.video', 'apps.accounts', 'south', 'mptt', 'tinymce', 'debug_toolbar', 'django_extensions'] LANGUAGES
(('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')) DATABASE_ENGINE '' DATABASE_NAME
'' COMMENTS_FIRST_FEW
0 PREPEND_WWW False GRAPPELLI_ADMIN_TITLE
u'Bumerang' SESSION_COOKIE_HTTPONLY False DATABASE_PORT
'' DEBUG_PROPAGATE_EXCEPTIONS
False CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ''}} MONTH_DAY_FORMAT
'F j' LOGIN_URL
'/accounts/login/' SESSION_EXPIRE_AT_BROWSER_CLOSE False TINYMCE_JS_URL
'/web/bumerang/static/tiny_mce/tiny_mce.js' PASSWORD_RESET_TIMEOUTDAYS '******_' TIME_FORMAT 'P' DATE_INPUT_FORMATS
('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') CSRF_COOKIE_NAME
'csrftoken' EMAIL_HOSTPASSWORD '******_' AUTH_PROFILE_MODULE 'apps.accounts.models.Profile' CACHE_MIDDLEWARE_ALIAS
'default' SESSION_SAVE_EVERY_REQUEST
False ADMIN_MEDIA_PREFIX
'/static/grappelli/' NUMBER_GROUPING 0 SESSION_ENGINE
'django.contrib.sessions.backends.db' CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure' COMMENTS_SKETCHY_USERS_GROUP
None LOGIN_REDIRECT_URL
'/accounts/profile/' PROJECT_ROOT
'/web/bumerang' LOGGING {'disable_existing_loggers': False, 'handlers': {'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'level': 'ERROR'}}, 'loggers': {'django.request': {'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True}}, 'version': 1} CACHE_MIDDLEWARE_KEY_PREFIX '' LOCALE_PATHS
() TEMPLATE_STRING_IF_INVALID
'' COMMENTS_ALLOW_PROFANITIES
False LOGOUT_URL
'/accounts/logout/' EMAIL_USE_TLS
True TEMPLATE_DIRS
('/web/bumerang/templates',) FIXTURE_DIRS
('/web/bumerang/fixtures',) EMAIL_HOST
'smtp.gmail.com' DATE_FORMAT 'N j, Y' MEDIA_ROOT
'/web/bumerang/media' ADMINS
() FORMAT_MODULE_PATH
None DEFAULT_FROM_EMAIL
'webmaster@localhost' STATICFILES_DIRS
('/web/bumerang/templates/static', '/web/bumerang/media') MEDIA_URL
'/media/' DATETIME_FORMAT 'N j, Y, P' EMAIL_SUBJECT_PREFIX
'[Django] ' SITE_ID 1 DISALLOWED_USER_AGENTS
() ALLOWED_INCLUDE_ROOTS
() DECIMAL_SEPARATOR
'.' SHORT_DATE_FORMAT
'm/d/Y' DATABASE_USER
'' TEST_RUNNER 'django.test.simple.DjangoTestSuiteRunner' TIME_ZONE
'Europe/Moscow' FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend' DEFAULT_TABLESPACE
'' TEMPLATE_CONTEXT_PROCESSORS ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.request', 'django.contrib.messages.context_processors.messages', 'apps.accounts.context_processors.global_login_form') KEEP_LOGGED_DURATION
30 SETTINGS_MODULE 'settings' USE_ETAGS
False LANGUAGES_BIDI
('he', 'ar', 'fa') DEFAULT_INDEX_TABLESPACE
'' INTERNAL_IPS
('127.0.0.1',) STATIC_URL
'/static/' EMAIL_PORT
25 SHORT_DATETIME_FORMAT
'm/d/Y P' TINYMCE_DEFAULT_CONFIG
{'cleanup_on_startup': True, 'custom_undo_redo_levels': 10, 'plugins': 'table,paste,searchreplace', 'theme': 'advanced'} ABSOLUTE_URL_OVERRIDES
{} DATABASE_OPTIONS
{} CACHE_MIDDLEWARE_SECONDS
600 BANNED_IPS
() DEBUG_TOOLBAR_CONFIG
{'INTERCEPT_REDIRECTS': False} DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y') DATABASEPASSWORD
'**
****_' ADMIN_FOR
() PROFANITIESLIST
'**
*****' EMAIL_HOST_USER 'alexilorenz' COMMENTS_BANNED_USERS_GROUP None You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.

clincher commented 12 years ago

предлагаю сохранять видеофайлы с именами, основанными на идентификаторе видеофайла. проблема в том, что идентификатор появляется только после сохранения (кстати, я не помню, появляется ли он, если сделать save(commit=False) ). можем, в принципе, и дважды сохранять. фишка в том, что нам не нужны старые версии файлов и мы можем спокойно их затирать

jesseyv commented 12 years ago

Файлы сохраняются как хэш от имени. В случае коллизии хэшей система дополняет их номером.

clincher commented 12 years ago

не пойдёт. в этом случае у нас будут оставаться старые файлы и занимать место. хеш должен зависеть от идентификатора.

jesseyv commented 12 years ago

Я переписал процедуру сохранения файлов для замены файла если файл с таким названием уже существует. Нужно решить как получать id создаваемого видео чтобы подставлять его в название файлов. Инстанс в upload_to функции так же содержит id=None если модель ещё не сохранена. Напрашивается решение с временными файлами, но я не совсем понимаю как его можно реализовать. А ещё наверное нужно вынести куда-то переопределенное хранилище, сейчас оно в моделях объявлено.

dashkov commented 12 years ago

У меня видео с названием файла на кириллице заливается корректно в разных вариациях (без оригинала, с оригиналом и т.д.). Что еще нужно по этому тикету, Василий?

clincher commented 12 years ago

в dev-ветке проверил - работает. проблема была в том, что приложение пыталось сохранить файл с кириллическими символами на диск, теперь имя файла генерируется на основе slug-поля и появление кириллических символов маловероятно. маловероятно, потому что теоретически возможно загрузить файл с кириллическим расширением (по идее таких расширений не существует, но руками-то можно вбить, наверное). в этом случае зафейлится. но и файл по идее будет битый, так что чорт с ним

dashkov commented 12 years ago

Создай тикет что бы выводить страницу с сообщением. Мол ваш файл имеет неверное расширение или испорчен. Потом сделаем лет через пять вывод на такой эксепшен.