Mercurial > hg > Feedworm
annotate backend/couchdb/ListDateTimeField.py @ 192:9d422fa90096
optimize marking feed entries as read: do not round trip to the database if the entry was already marked as read
author | dirk |
---|---|
date | Wed, 21 Sep 2011 13:23:25 +0200 |
parents | f0afcd1c5656 |
children | bb3c851b18b1 |
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 |