source: OpenRLabs-Git/deploy/rlabs-docker/web2py-rlabs/gluon/packages/dal/pydal/representers/couchdb.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.2 KB
Line 
1from .._compat import integer_types
2from ..adapters.couchdb import CouchDB
3from ..helpers.classes import Reference
4from ..helpers.serializers import serializers
5from ..objects import Row
6from .base import NoSQLRepresenter
7from . import representers, for_type
8
9long = integer_types[-1]
10
11
12@representers.register_for(CouchDB)
13class CouchDBRepresenter(NoSQLRepresenter):
14    def adapt(self, value):
15        return repr(
16            not isinstance(value, unicode) and value or value and value.encode("utf8")
17        )
18
19    @for_type("id")
20    def _id(self, value):
21        return str(long(value))
22
23    @for_type("reference", adapt=False)
24    def _reference(self, value):
25        if isinstance(value, (Row, Reference)):
26            value = value["id"]
27        return self.adapter.object_id(value)
28
29    @for_type("date", adapt=False)
30    def _date(self, value):
31        return serializers.json(value)
32
33    @for_type("time", adapt=False)
34    def _time(self, value):
35        serializers.json(value)
36
37    @for_type("datetime", adapt=False)
38    def _datetime(self, value):
39        return serializers.json(value)
40
41    @for_type("boolean", adapt=False)
42    def _boolean(self, value):
43        return serializers.json(value)
Note: See TracBrowser for help on using the repository browser.