Skip to content

Commit

Permalink
better support for list and map parsing and for meta handling
Browse files Browse the repository at this point in the history
  • Loading branch information
joamag committed Oct 29, 2015
1 parent 5f3662f commit 736f9ce
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/quorum/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,13 @@

RE = lambda v: [i for i in v if not i == ""]
""" Simple lambda function that removes any
empty element from the provided list value """
empty element from the provided list values """

BUILDERS = {
legacy.UNICODE : lambda v: v.decode("utf-8") if\
type(v) == legacy.BYTES else legacy.UNICODE(v),
list : lambda v: RE(v) if type(v) == list else RE([v]),
list : lambda v: RE(v) if type(v) == list else\
(json.loads(v) if type(v) == legacy.UNICODE else RE([v])),
dict : lambda v: json.loads(v) if type(v) == legacy.UNICODE else dict(v),
bool : lambda v: v if type(v) == bool else\
not v in ("", "0", "false", "False")
Expand All @@ -80,6 +81,8 @@
METAS = dict(
text = lambda v, d: v,
enum = lambda v, d: d["enum"].get(v, None),
list = lambda v, d: mongodb.dumps(v),
map = lambda v, d: mongodb.dumps(v),
date = lambda v, d: datetime.datetime.utcfromtimestamp(float(v)).strftime("%d %b %Y"),
datetime = lambda v, d: datetime.datetime.utcfromtimestamp(float(v)).strftime("%d %b %Y %H:%M:%S")
)
Expand Down

0 comments on commit 736f9ce

Please sign in to comment.