coleifer/sqlite-web

Internal Server Error when try to open content and export to csv

Closed this issue · 1 comments

Hi, I get this error when try to open Content and Export to csv, I think I have decimal on my DB

This is the error :

[2021-02-27 16:28:47,941] ERROR in app: Exception on /attraction/content/ [GET]
Traceback (most recent call last):
  File "~/trip/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "~/trip/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "~/trip/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "~/trip/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "~/trip/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "~/trip/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "~/trip/lib/python3.6/site-packages/sqlite_web/sqlite_web.py", line 214, in inner
    return fn(table, *args, **kwargs)
  File "~/trip/lib/python3.6/site-packages/sqlite_web/sqlite_web.py", line 464, in table_content
    total_rows=total_rows)
  File "~/trip/lib/python3.6/site-packages/flask/templating.py", line 140, in render_template
    ctx.app,
  File "~/trip/lib/python3.6/site-packages/flask/templating.py", line 120, in _render
    rv = template.render(context)
  File "~/trip/lib/python3.6/site-packages/jinja2/environment.py", line 1090, in render
    self.environment.handle_exception()
  File "~/trip/lib/python3.6/site-packages/jinja2/environment.py", line 832, in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
  File "~/trip/lib/python3.6/site-packages/jinja2/_compat.py", line 28, in reraise
    raise value.with_traceback(tb)
  File "~/trip/lib/python3.6/site-packages/sqlite_web/templates/table_content.html", line 1, in top-level template code
    {% extends "base_table.html" %}
  File "~/trip/lib/python3.6/site-packages/sqlite_web/templates/base_table.html", line 1, in top-level template code
    {% extends "base_tables.html" %}
  File "~/trip/lib/python3.6/site-packages/sqlite_web/templates/base_tables.html", line 1, in top-level template code
    {% extends "base.html" %}
  File "~/trip/lib/python3.6/site-packages/sqlite_web/templates/base.html", line 62, in top-level template code
    {% block content %}{% endblock %}
  File "~/trip/lib/python3.6/site-packages/sqlite_web/templates/base_table.html", line 29, in block "content"
    {% block inner_content %}
  File "~/trip/lib/python3.6/site-packages/sqlite_web/templates/table_content.html", line 39, in block "inner_content"
    {% for row in query %}
  File "~/trip/lib/python3.6/site-packages/peewee.py", line 4361, in next
    self.cursor_wrapper.iterate()
  File "~/trip/lib/python3.6/site-packages/peewee.py", line 4280, in iterate
    result = self.process_row(row)
	 File "~/trip/lib/python3.6/site-packages/peewee.py", line 7427, in process_row
    result[attr] = converters[i](row[i])
  File "~/trip/lib/python3.6/site-packages/peewee.py", line 4664, in python_value
    return decimal.Decimal(text_type(value))
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]

Using Ubuntu 18.04
Python version 3.6

Looks like you have a field that was identified as a Decimal-field, and when attempting to apply the conversion, Python is saying that it cannot parse the value in the column.

It's worth noting that Sqlite does not have a decimal type. It has INT, REAL, TEXT, BLOB and NULL -- so possible fixes:

  • change your column-type to a less-specific data-type
  • figure out which row value is causing the problem(s) and modify them to be readable by Python's decimal library