Skip to content

Instantly share code, notes, and snippets.

@elmcrest
Created August 13, 2013 16:00
Show Gist options
  • Save elmcrest/6222680 to your computer and use it in GitHub Desktop.
Save elmcrest/6222680 to your computer and use it in GitHub Desktop.
Traceback (most recent call last):
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask_login.py", line 663, in decorated_view
return func(*args, **kwargs)
File "/home/mr/uberblick/uberblick/employee/views.py", line 44, in employeeDetail
employee_id=employee_id)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
context, ctx.app)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
rv = template.render(context)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render
return self.environment.handle_exception(exc_info, True)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/mr/uberblick/uberblick/templates/employee/employee.html", line 1, in top-level template code
{% extends "nav.html" %}
File "/home/mr/uberblick/uberblick/templates/nav.html", line 1, in top-level template code
{% extends "base.html" %}
File "/home/mr/uberblick/uberblick/templates/base.html", line 37, in top-level template code
{% block content %}
File "/home/mr/uberblick/uberblick/templates/employee/employee.html", line 13, in block "content"
{{ render_field_disabled(form.leaving) }}
File "/home/mr/uberblick/uberblick/templates/_macros_.html", line 39, in template
{{ field(disabled=True) }}
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/wtforms/fields/core.py", line 140, in __call__
return self.widget(self, **kwargs)
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/wtforms/widgets/core.py", line 124, in __call__
return HTMLString('<input %s>' % self.html_params(name=field.name, **kwargs))
File "/home/mr/.virtualenvs/uberblick/lib/python2.7/site-packages/wtforms/widgets/core.py", line 33, in html_params
params.append('%s="%s"' % (text_type(k), escape(text_type(v), quote=True)))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 17: ordinal not in range(128)
def html_params(**kwargs):
"""
Generate HTML parameters from inputted keyword arguments.
The output value is sorted by the passed keys, to provide consistent output
each time this function is called with the same parameters. Because of the
frequent use of the normally reserved keywords `class` and `for`, suffixing
these with an underscore will allow them to be used.
>>> html_params(name='text1', id='f', class_='text') == 'class="text" id="f" name="text1"'
True
"""
params = []
for k,v in sorted(iteritems(kwargs)):
if k in ('class_', 'class__', 'for_'):
k = k[:-1]
if v is True:
params.append(k)
else:
params.append('%s="%s"' % (text_type(k), escape(text_type(v), quote=True)))
return ' '.join(params)
class CustomDateField(DateField):
"""
Same as DateTimeField, except stores a `datetime.date`.
"""
def __init__(self, label=None, validators=None, format='%Y-%m-%d', **kwargs):
super(DateField, self).__init__(label, validators, format, **kwargs)
def process_formdata(self, valuelist):
if valuelist:
date_str = ' '.join(valuelist)
print date_str
print locale.getlocale()
try:
self.data = datetime.datetime.strptime(date_str.encode('utf-8'), self.format).date()
except ValueError:
self.data = None
raise ValueError(self.gettext('Not a valid date value'))
@elmcrest
Copy link
Author

^C(uberblick)mr@debian:~/uberblick$ pip freeze
Flask==0.10.1
Flask-Login==0.2.6
Flask-Mail==0.9.0
Flask-Principal==0.4.0
Flask-SQLAlchemy==1.0
Flask-Script==0.5.3
Flask-Security==1.6.7
Flask-WTF==0.8.4
Jinja2==2.7
MarkupSafe==0.18
SQLAlchemy==0.8.2
WTForms==1.0.4
Werkzeug==0.9.3
argparse==1.2.1
blinker==1.3
itsdangerous==0.22
passlib==1.6.1
psycopg2==2.5.1
wsgiref==0.1.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment