Wednesday, April 27, 2011

Unicode problems

Hi,
I'm getting a lot of problems saving and reading from files with special characteres in name, using the django-avatar lib.

The truth is that I don't really understand the way python/django handle unicodes, for example, I suspect that from the moment the trace tells me that there's some strange characters in my variable I can't do anything anymore... like try to use the unicode() method. =/
Because I tried to use this method in a lot of places with unsuccessful results... So if someone can help to me understand this I'll be grateful

Worse, when I run this from my local machine it seems to work fine... (I don't know if it can be a problem, but some python files in the project are using utf-8 and others are using iso-8859-1)

Here's the trace, I hope it can help

  • /usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/handlers/base.py in get_response
    1. response = callback(request, *callback_args, **callback_kwargs) ...
    Variable Value
    callback
    <function tintzsettings at 0x1763f1b8>
    callback_args
    ()
    callback_kwargs
    {}
    e
    UnicodeEncodeError('ascii', u'/home/tintz/workspace/tintz/site_media/avatars/daniel/a\xe7+\xe3o.jpg', 55, 56, 'ordinal not in range(128)')
    exceptions
    <module 'django.core.exceptions' from '/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/exceptions.pyc'>
    middleware_method
    <bound method HideSensistiveFieldsMiddleware.process_exception of <pinax.middleware.security.HideSensistiveFieldsMiddleware object at 0x173661d0>>
    receivers
    [(<function _rollback_on_exception at 0x164e6578>, None), (<function clean_request_for_except_repr at 0x1729b758>, False), (<function insert_svn_app_versions at 0x1729b7d0>, True)]
    request
    <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'password1': [u''], u'password2': [u''], u'oldpassword': [u''], u'y': [u'25'], u'email_post': [u'on'], u'action': [u'update'], u'x': [u'56'], u'email_follow': [u'on'], u'email': [u'daniel.franca@gmail.com'], u'email_publication': [u'on']}>, COOKIES:{'__utma': '102930309.1166563295.1296624065.1303868680.1303876872.98', '__utmb': '102930309.51.10.1303876872', '__utmc': '102930309', '__utmz': '102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz', 'csrftoken': 'c70b0e8afb0d996077528b582b9a5c6c', 'sessionid': 'e4e9364dedd5a6ee0f0948477ea8ac1f'}, META:{'CONTENT_LENGTH': '55199', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryBTfRDj0BnhwqggAN', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz; csrftoken=c70b0e8afb0d996077528b582b9a5c6c; sessionid=e4e9364dedd5a6ee0f0948477ea8ac1f; __utma=102930309.1166563295.1296624065.1303868680.1303876872.98; __utmc=102930309; __utmb=102930309.51.10.1303876872', 'HTTP_HOST': '127.0.0.1:1342', 'HTTP_ORIGIN': 'http://tintz.com.br', 'HTTP_REFERER': 'http://tintz.com.br/tintzsettings/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24', 'PATH_INFO': u'/tintzsettings/', 'QUERY_STRING': '', 'RAW_URI': '/tintzsettings/', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '54624', 'REQUEST_METHOD': 'POST', 'SCRIPT_NAME': u'', 'SERVER_NAME': '127.0.0.1', 'SERVER_PORT': '1342', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/0.12.0', 'gunicorn.socket': <socket._socketobject object at 0x17672210>, 'svn_app_version': 'SVN-unknown', 'svn_app_version.account': 'SVN-unknown', 'svn_app_version.ajax_validation': 'SVN-unknown', 'svn_app_version.announcements': 'SVN-unknown', 'svn_app_version.avatar': 'SVN-unknown', 'svn_app_version.blog': 'SVN-unknown', 'svn_app_version.dajax': 'SVN-unknown', 'svn_app_version.dajaxice': 'SVN-unknown', 'svn_app_version.django': 'SVN-unknown', 'svn_app_version.django.contrib.admin': 'SVN-Error', 'svn_app_version.django.contrib.auth': 'SVN-Error', 'svn_app_version.django.contrib.contenttypes': 'SVN-Error', 'svn_app_version.django.contrib.humanize': 'SVN-Error', 'svn_app_version.django.contrib.markup': 'SVN-Error', 'svn_app_version.django.contrib.sessions': 'SVN-Error', 'svn_app_version.django.contrib.sites': 'SVN-Error', 'svn_app_version.django_extensions': 'SVN-unknown', 'svn_app_version.emailconfirmation': 'SVN-unknown', 'svn_app_version.follow': 'SVN-unknown', 'svn_app_version.gunicorn': 'SVN-Error', 'svn_app_version.haystack': 'SVN-unknown', 'svn_app_version.mailer': 'SVN-unknown', 'svn_app_version.messages': 'SVN-unknown', 'svn_app_version.pagination': 'SVN-unknown', 'svn_app_version.pinax.templatetags': 'SVN-Error', 'svn_app_version.profiles': 'SVN-unknown', 'svn_app_version.publications': 'SVN-unknown', 'svn_app_version.robots': 'SVN-unknown', 'svn_app_version.tag_app': 'SVN-unknown', 'svn_app_version.tagging': 'SVN-unknown', 'svn_app_version.threadedcomments': 'SVN-unknown', 'svn_app_version.threadedcomments_extras': 'SVN-Error', 'svn_app_version.timezones': 'SVN-unknown', 'svn_app_version.tintzsettings': 'SVN-unknown', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x2afd182bf1e0>, 'wsgi.input': <gunicorn.http.body.Body object at 0x1735f590>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
    resolver
    <RegexURLResolver tintz.urls (None:None) ^/>
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x1735f210>
    settings
    <django.conf.LazySettings object at 0x2afd183a9610>
    urlconf
    'tintz.urls'
    urlresolvers
    <module 'django.core.urlresolvers' from '/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/urlresolvers.pyc'>
  • /home/tintz/workspace/tintz/apps/account/utils.py in wrap
    1. return f(request, *args, **kwargs) ...
    Variable Value
    args
    ()
    f
    <function tintzsettings at 0x1763f230>
    kwargs
    {}
    profile
    <Profile: daniel>
    request
    <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'password1': [u''], u'password2': [u''], u'oldpassword': [u''], u'y': [u'25'], u'email_post': [u'on'], u'action': [u'update'], u'x': [u'56'], u'email_follow': [u'on'], u'email': [u'daniel.franca@gmail.com'], u'email_publication': [u'on']}>, COOKIES:{'__utma': '102930309.1166563295.1296624065.1303868680.1303876872.98', '__utmb': '102930309.51.10.1303876872', '__utmc': '102930309', '__utmz': '102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz', 'csrftoken': 'c70b0e8afb0d996077528b582b9a5c6c', 'sessionid': 'e4e9364dedd5a6ee0f0948477ea8ac1f'}, META:{'CONTENT_LENGTH': '55199', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryBTfRDj0BnhwqggAN', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz; csrftoken=c70b0e8afb0d996077528b582b9a5c6c; sessionid=e4e9364dedd5a6ee0f0948477ea8ac1f; __utma=102930309.1166563295.1296624065.1303868680.1303876872.98; __utmc=102930309; __utmb=102930309.51.10.1303876872', 'HTTP_HOST': '127.0.0.1:1342', 'HTTP_ORIGIN': 'http://tintz.com.br', 'HTTP_REFERER': 'http://tintz.com.br/tintzsettings/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24', 'PATH_INFO': u'/tintzsettings/', 'QUERY_STRING': '', 'RAW_URI': '/tintzsettings/', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '54624', 'REQUEST_METHOD': 'POST', 'SCRIPT_NAME': u'', 'SERVER_NAME': '127.0.0.1', 'SERVER_PORT': '1342', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/0.12.0', 'gunicorn.socket': <socket._socketobject object at 0x17672210>, 'svn_app_version': 'SVN-unknown', 'svn_app_version.account': 'SVN-unknown', 'svn_app_version.ajax_validation': 'SVN-unknown', 'svn_app_version.announcements': 'SVN-unknown', 'svn_app_version.avatar': 'SVN-unknown', 'svn_app_version.blog': 'SVN-unknown', 'svn_app_version.dajax': 'SVN-unknown', 'svn_app_version.dajaxice': 'SVN-unknown', 'svn_app_version.django': 'SVN-unknown', 'svn_app_version.django.contrib.admin': 'SVN-Error', 'svn_app_version.django.contrib.auth': 'SVN-Error', 'svn_app_version.django.contrib.contenttypes': 'SVN-Error', 'svn_app_version.django.contrib.humanize': 'SVN-Error', 'svn_app_version.django.contrib.markup': 'SVN-Error', 'svn_app_version.django.contrib.sessions': 'SVN-Error', 'svn_app_version.django.contrib.sites': 'SVN-Error', 'svn_app_version.django_extensions': 'SVN-unknown', 'svn_app_version.emailconfirmation': 'SVN-unknown', 'svn_app_version.follow': 'SVN-unknown', 'svn_app_version.gunicorn': 'SVN-Error', 'svn_app_version.haystack': 'SVN-unknown', 'svn_app_version.mailer': 'SVN-unknown', 'svn_app_version.messages': 'SVN-unknown', 'svn_app_version.pagination': 'SVN-unknown', 'svn_app_version.pinax.templatetags': 'SVN-Error', 'svn_app_version.profiles': 'SVN-unknown', 'svn_app_version.publications': 'SVN-unknown', 'svn_app_version.robots': 'SVN-unknown', 'svn_app_version.tag_app': 'SVN-unknown', 'svn_app_version.tagging': 'SVN-unknown', 'svn_app_version.threadedcomments': 'SVN-unknown', 'svn_app_version.threadedcomments_extras': 'SVN-Error', 'svn_app_version.timezones': 'SVN-unknown', 'svn_app_version.tintzsettings': 'SVN-unknown', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x2afd182bf1e0>, 'wsgi.input': <gunicorn.http.body.Body object at 0x1735f590>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
  • /home/tintz/workspace/tintz/apps/tintzsettings/views.py in tintzsettings
    1. config = config_form.save(request) ...
    Variable Value
    config
    <TintzSettings: TintzSettings object>
    config_form
    <tintzsettings.forms.TintzSettingsForm object at 0x17664310>
    form_class
    <class 'tintzsettings.forms.TintzSettingsForm'>
    request
    <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'password1': [u''], u'password2': [u''], u'oldpassword': [u''], u'y': [u'25'], u'email_post': [u'on'], u'action': [u'update'], u'x': [u'56'], u'email_follow': [u'on'], u'email': [u'daniel.franca@gmail.com'], u'email_publication': [u'on']}>, COOKIES:{'__utma': '102930309.1166563295.1296624065.1303868680.1303876872.98', '__utmb': '102930309.51.10.1303876872', '__utmc': '102930309', '__utmz': '102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz', 'csrftoken': 'c70b0e8afb0d996077528b582b9a5c6c', 'sessionid': 'e4e9364dedd5a6ee0f0948477ea8ac1f'}, META:{'CONTENT_LENGTH': '55199', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryBTfRDj0BnhwqggAN', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz; csrftoken=c70b0e8afb0d996077528b582b9a5c6c; sessionid=e4e9364dedd5a6ee0f0948477ea8ac1f; __utma=102930309.1166563295.1296624065.1303868680.1303876872.98; __utmc=102930309; __utmb=102930309.51.10.1303876872', 'HTTP_HOST': '127.0.0.1:1342', 'HTTP_ORIGIN': 'http://tintz.com.br', 'HTTP_REFERER': 'http://tintz.com.br/tintzsettings/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24', 'PATH_INFO': u'/tintzsettings/', 'QUERY_STRING': '', 'RAW_URI': '/tintzsettings/', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '54624', 'REQUEST_METHOD': 'POST', 'SCRIPT_NAME': u'', 'SERVER_NAME': '127.0.0.1', 'SERVER_PORT': '1342', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/0.12.0', 'gunicorn.socket': <socket._socketobject object at 0x17672210>, 'svn_app_version': 'SVN-unknown', 'svn_app_version.account': 'SVN-unknown', 'svn_app_version.ajax_validation': 'SVN-unknown', 'svn_app_version.announcements': 'SVN-unknown', 'svn_app_version.avatar': 'SVN-unknown', 'svn_app_version.blog': 'SVN-unknown', 'svn_app_version.dajax': 'SVN-unknown', 'svn_app_version.dajaxice': 'SVN-unknown', 'svn_app_version.django': 'SVN-unknown', 'svn_app_version.django.contrib.admin': 'SVN-Error', 'svn_app_version.django.contrib.auth': 'SVN-Error', 'svn_app_version.django.contrib.contenttypes': 'SVN-Error', 'svn_app_version.django.contrib.humanize': 'SVN-Error', 'svn_app_version.django.contrib.markup': 'SVN-Error', 'svn_app_version.django.contrib.sessions': 'SVN-Error', 'svn_app_version.django.contrib.sites': 'SVN-Error', 'svn_app_version.django_extensions': 'SVN-unknown', 'svn_app_version.emailconfirmation': 'SVN-unknown', 'svn_app_version.follow': 'SVN-unknown', 'svn_app_version.gunicorn': 'SVN-Error', 'svn_app_version.haystack': 'SVN-unknown', 'svn_app_version.mailer': 'SVN-unknown', 'svn_app_version.messages': 'SVN-unknown', 'svn_app_version.pagination': 'SVN-unknown', 'svn_app_version.pinax.templatetags': 'SVN-Error', 'svn_app_version.profiles': 'SVN-unknown', 'svn_app_version.publications': 'SVN-unknown', 'svn_app_version.robots': 'SVN-unknown', 'svn_app_version.tag_app': 'SVN-unknown', 'svn_app_version.tagging': 'SVN-unknown', 'svn_app_version.threadedcomments': 'SVN-unknown', 'svn_app_version.threadedcomments_extras': 'SVN-Error', 'svn_app_version.timezones': 'SVN-unknown', 'svn_app_version.tintzsettings': 'SVN-unknown', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x2afd182bf1e0>, 'wsgi.input': <gunicorn.http.body.Body object at 0x1735f590>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
    template_name
    'tintzsettings/tintzsettings.html'
  • /home/tintz/workspace/tintz/apps/tintzsettings/forms.py in save
    1. self.change_avatar(request) ...
    Variable Value
    my_email
    oldpassword
    u''
    password2
    u''
    request
    <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'password1': [u''], u'password2': [u''], u'oldpassword': [u''], u'y': [u'25'], u'email_post': [u'on'], u'action': [u'update'], u'x': [u'56'], u'email_follow': [u'on'], u'email': [u'daniel.franca@gmail.com'], u'email_publication': [u'on']}>, COOKIES:{'__utma': '102930309.1166563295.1296624065.1303868680.1303876872.98', '__utmb': '102930309.51.10.1303876872', '__utmc': '102930309', '__utmz': '102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz', 'csrftoken': 'c70b0e8afb0d996077528b582b9a5c6c', 'sessionid': 'e4e9364dedd5a6ee0f0948477ea8ac1f'}, META:{'CONTENT_LENGTH': '55199', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryBTfRDj0BnhwqggAN', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz; csrftoken=c70b0e8afb0d996077528b582b9a5c6c; sessionid=e4e9364dedd5a6ee0f0948477ea8ac1f; __utma=102930309.1166563295.1296624065.1303868680.1303876872.98; __utmc=102930309; __utmb=102930309.51.10.1303876872', 'HTTP_HOST': '127.0.0.1:1342', 'HTTP_ORIGIN': 'http://tintz.com.br', 'HTTP_REFERER': 'http://tintz.com.br/tintzsettings/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24', 'PATH_INFO': u'/tintzsettings/', 'QUERY_STRING': '', 'RAW_URI': '/tintzsettings/', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '54624', 'REQUEST_METHOD': 'POST', 'SCRIPT_NAME': u'', 'SERVER_NAME': '127.0.0.1', 'SERVER_PORT': '1342', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/0.12.0', 'gunicorn.socket': <socket._socketobject object at 0x17672210>, 'svn_app_version': 'SVN-unknown', 'svn_app_version.account': 'SVN-unknown', 'svn_app_version.ajax_validation': 'SVN-unknown', 'svn_app_version.announcements': 'SVN-unknown', 'svn_app_version.avatar': 'SVN-unknown', 'svn_app_version.blog': 'SVN-unknown', 'svn_app_version.dajax': 'SVN-unknown', 'svn_app_version.dajaxice': 'SVN-unknown', 'svn_app_version.django': 'SVN-unknown', 'svn_app_version.django.contrib.admin': 'SVN-Error', 'svn_app_version.django.contrib.auth': 'SVN-Error', 'svn_app_version.django.contrib.contenttypes': 'SVN-Error', 'svn_app_version.django.contrib.humanize': 'SVN-Error', 'svn_app_version.django.contrib.markup': 'SVN-Error', 'svn_app_version.django.contrib.sessions': 'SVN-Error', 'svn_app_version.django.contrib.sites': 'SVN-Error', 'svn_app_version.django_extensions': 'SVN-unknown', 'svn_app_version.emailconfirmation': 'SVN-unknown', 'svn_app_version.follow': 'SVN-unknown', 'svn_app_version.gunicorn': 'SVN-Error', 'svn_app_version.haystack': 'SVN-unknown', 'svn_app_version.mailer': 'SVN-unknown', 'svn_app_version.messages': 'SVN-unknown', 'svn_app_version.pagination': 'SVN-unknown', 'svn_app_version.pinax.templatetags': 'SVN-Error', 'svn_app_version.profiles': 'SVN-unknown', 'svn_app_version.publications': 'SVN-unknown', 'svn_app_version.robots': 'SVN-unknown', 'svn_app_version.tag_app': 'SVN-unknown', 'svn_app_version.tagging': 'SVN-unknown', 'svn_app_version.threadedcomments': 'SVN-unknown', 'svn_app_version.threadedcomments_extras': 'SVN-Error', 'svn_app_version.timezones': 'SVN-unknown', 'svn_app_version.tintzsettings': 'SVN-unknown', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x2afd182bf1e0>, 'wsgi.input': <gunicorn.http.body.Body object at 0x1735f590>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
    self
    <tintzsettings.forms.TintzSettingsForm object at 0x17664310>
    tintzSettings
    <TintzSettings: TintzSettings object>
  • /home/tintz/workspace/tintz/apps/tintzsettings/forms.py in change_avatar
    1. new_file = avatar.avatar.storage.save(unicode(path), unicode(request.FILES['avatar_file'])) ...
    Variable Value
    avatar
    <Avatar: Avatar for daniel>
    avatars
    [<Avatar: Avatar for daniel>]
    logging
    <module 'logging' from '/usr/lib/python2.6/logging/__init__.pyc'>
    path
    u'avatars/daniel/a\xe7+\xe3o.jpg'
    request
    <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'password1': [u''], u'password2': [u''], u'oldpassword': [u''], u'y': [u'25'], u'email_post': [u'on'], u'action': [u'update'], u'x': [u'56'], u'email_follow': [u'on'], u'email': [u'daniel.franca@gmail.com'], u'email_publication': [u'on']}>, COOKIES:{'__utma': '102930309.1166563295.1296624065.1303868680.1303876872.98', '__utmb': '102930309.51.10.1303876872', '__utmc': '102930309', '__utmz': '102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz', 'csrftoken': 'c70b0e8afb0d996077528b582b9a5c6c', 'sessionid': 'e4e9364dedd5a6ee0f0948477ea8ac1f'}, META:{'CONTENT_LENGTH': '55199', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryBTfRDj0BnhwqggAN', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=102930309.1303258663.94.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=tintz; csrftoken=c70b0e8afb0d996077528b582b9a5c6c; sessionid=e4e9364dedd5a6ee0f0948477ea8ac1f; __utma=102930309.1166563295.1296624065.1303868680.1303876872.98; __utmc=102930309; __utmb=102930309.51.10.1303876872', 'HTTP_HOST': '127.0.0.1:1342', 'HTTP_ORIGIN': 'http://tintz.com.br', 'HTTP_REFERER': 'http://tintz.com.br/tintzsettings/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24', 'PATH_INFO': u'/tintzsettings/', 'QUERY_STRING': '', 'RAW_URI': '/tintzsettings/', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '54624', 'REQUEST_METHOD': 'POST', 'SCRIPT_NAME': u'', 'SERVER_NAME': '127.0.0.1', 'SERVER_PORT': '1342', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/0.12.0', 'gunicorn.socket': <socket._socketobject object at 0x17672210>, 'svn_app_version': 'SVN-unknown', 'svn_app_version.account': 'SVN-unknown', 'svn_app_version.ajax_validation': 'SVN-unknown', 'svn_app_version.announcements': 'SVN-unknown', 'svn_app_version.avatar': 'SVN-unknown', 'svn_app_version.blog': 'SVN-unknown', 'svn_app_version.dajax': 'SVN-unknown', 'svn_app_version.dajaxice': 'SVN-unknown', 'svn_app_version.django': 'SVN-unknown', 'svn_app_version.django.contrib.admin': 'SVN-Error', 'svn_app_version.django.contrib.auth': 'SVN-Error', 'svn_app_version.django.contrib.contenttypes': 'SVN-Error', 'svn_app_version.django.contrib.humanize': 'SVN-Error', 'svn_app_version.django.contrib.markup': 'SVN-Error', 'svn_app_version.django.contrib.sessions': 'SVN-Error', 'svn_app_version.django.contrib.sites': 'SVN-Error', 'svn_app_version.django_extensions': 'SVN-unknown', 'svn_app_version.emailconfirmation': 'SVN-unknown', 'svn_app_version.follow': 'SVN-unknown', 'svn_app_version.gunicorn': 'SVN-Error', 'svn_app_version.haystack': 'SVN-unknown', 'svn_app_version.mailer': 'SVN-unknown', 'svn_app_version.messages': 'SVN-unknown', 'svn_app_version.pagination': 'SVN-unknown', 'svn_app_version.pinax.templatetags': 'SVN-Error', 'svn_app_version.profiles': 'SVN-unknown', 'svn_app_version.publications': 'SVN-unknown', 'svn_app_version.robots': 'SVN-unknown', 'svn_app_version.tag_app': 'SVN-unknown', 'svn_app_version.tagging': 'SVN-unknown', 'svn_app_version.threadedcomments': 'SVN-unknown', 'svn_app_version.threadedcomments_extras': 'SVN-Error', 'svn_app_version.timezones': 'SVN-unknown', 'svn_app_version.tintzsettings': 'SVN-unknown', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x2afd182bf1e0>, 'wsgi.input': <gunicorn.http.body.Body object at 0x1735f590>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
    self
    <tintzsettings.forms.TintzSettingsForm object at 0x17664310>
  • /usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/files/storage.py in save
    1. name = self.get_available_name(name) ...
    Variable Value
    content
    u'a\xe7+\xe3o.jpg'
    name
    u'avatars/daniel/a\xe7+\xe3o.jpg'
    self
    <django.core.files.storage.FileSystemStorage object at 0x17550fd0>
  • /usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/files/storage.py in get_available_name
    1. while self.exists(name): ...
    Variable Value
    count
    count(1)
    dir_name
    u'avatars/daniel'
    file_ext
    u'.jpg'

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment