source: OpenRLabs-Git/deploy/rlabs-docker/web2py-rlabs/gluon/packages/dal/pydal/parsers/sqlite.py

main
Last change on this file was 42bd667, checked in by David Fuertes <dfuertes@…>, 4 years ago

Historial Limpio

  • Property mode set to 100755
File size: 1.0 KB
Line 
1from datetime import datetime, date
2from decimal import Decimal
3from ..adapters.sqlite import SQLite
4from .base import ListsParser, DateParser, TimeParser, DateTimeParser, JSONParser
5from . import parsers, for_type, before_parse
6
7
8@parsers.register_for(SQLite)
9class SQLiteParser(ListsParser, DateParser, TimeParser, DateTimeParser, JSONParser):
10    @before_parse("decimal")
11    def decimal_extras(self, field_type):
12        return {"decimals": field_type[8:-1].split(",")[1].strip()}
13
14    @for_type("decimal")
15    def _decimal(self, value, decimals):
16        value = "{0:.{precision}f}".format(value, precision=decimals)
17        return Decimal(value)
18
19    @for_type("date")
20    def _date(self, value):
21        if not isinstance(value, date):
22            return DateParser._declared_parsers_["_date"].f(self, value)
23        return value
24
25    @for_type("datetime")
26    def _datetime(self, value):
27        if not isinstance(value, datetime):
28            return DateTimeParser._declared_parsers_["_datetime"].f(self, value)
29        return value
Note: See TracBrowser for help on using the repository browser.