annotate backend/couchdb/ListDateTimeField.py @ 170:f0afcd1c5656

implement a couchdb mapping field that stores a datetime instance as a JSON array
author dirk
date Fri, 09 Sep 2011 16:22:44 +0200
parents
children bb3c851b18b1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
170
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
1
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
2 from couchdb.mapping import Field
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
3 from datetime import datetime
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
4
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
5 class ListDateTimeField(Field):
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
6 def _to_python(self, value):
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
7 if isinstance(value, list):
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
8 return datetime(*value)
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
9 return value
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
10
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
11 def _to_json(self, value):
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
12 if isinstance(value, datetime):
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
13 return [ value.year, value.month, value.day, value.hour, value.minute, value.second ]
f0afcd1c5656 implement a couchdb mapping field that stores a datetime instance as a JSON array
dirk
parents:
diff changeset
14 return value