aboutsummaryrefslogtreecommitdiff
path: root/pandora/models/__init__.py
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2017-10-30 02:35:56 +0000
committerMike Crute <mike@crute.us>2017-10-30 02:38:23 +0000
commit474e3068d62ba60e2656c54a01e42787dc618a03 (patch)
treeac7e82a1a8882bfabbae7ea286c6fbe985d96cbe /pandora/models/__init__.py
parentd93429bf62f076a76876014ac35bbc9355fd5b30 (diff)
downloadpydora-474e3068d62ba60e2656c54a01e42787dc618a03.tar.bz2
pydora-474e3068d62ba60e2656c54a01e42787dc618a03.tar.xz
pydora-474e3068d62ba60e2656c54a01e42787dc618a03.zip
Extract date formatter logic to SyntheticField
Diffstat (limited to 'pandora/models/__init__.py')
-rw-r--r--pandora/models/__init__.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/pandora/models/__init__.py b/pandora/models/__init__.py
index 7a60889..bafb6ce 100644
--- a/pandora/models/__init__.py
+++ b/pandora/models/__init__.py
@@ -57,6 +57,20 @@ class SyntheticField(namedtuple("SyntheticField", ["field"])):
57 raise NotImplementedError 57 raise NotImplementedError
58 58
59 59
60class DateField(SyntheticField):
61 """Date Field
62
63 Handles a JSON map that contains a time field which is the timestamp with
64 nanosecond precision.
65 """
66
67 def formatter(self, api_client, data, value):
68 if not value:
69 return None
70
71 return datetime.utcfromtimestamp(value["time"] / 1000)
72
73
60class ModelMetaClass(type): 74class ModelMetaClass(type):
61 75
62 def __new__(cls, name, parents, dct): 76 def __new__(cls, name, parents, dct):
@@ -84,10 +98,6 @@ class PandoraModel(with_metaclass(ModelMetaClass, object)):
84 consumers of these instances can ignore all of the details of this class. 98 consumers of these instances can ignore all of the details of this class.
85 """ 99 """
86 100
87 @staticmethod
88 def json_to_date(api_client, data):
89 return datetime.utcfromtimestamp(data["time"] / 1000)
90
91 @classmethod 101 @classmethod
92 def from_json_list(cls, api_client, data): 102 def from_json_list(cls, api_client, data):
93 """Convert a list of JSON values to a list of models 103 """Convert a list of JSON values to a list of models