Skip to content

Commit 4029ba9

Browse files
author
Jérôme Deuchnord
committed
feat: rename fields in the JSON response for more coherence
BREAKING CHANGE: the fields "details" and "ephemerides" have been switched.
1 parent e49fe96 commit 4029ba9

2 files changed

Lines changed: 13 additions & 10 deletions

File tree

kosmorrolib/dumper.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def to_string(self):
3939
class JsonDumper(Dumper):
4040
def to_string(self):
4141
self.ephemeris['events'] = self.events
42+
self.ephemeris['ephemerides'] = self.ephemeris.pop('details')
4243
return json.dumps(self.ephemeris,
4344
default=self._json_default,
4445
indent=4)
@@ -54,6 +55,8 @@ def _json_default(obj):
5455
if isinstance(obj, Object):
5556
obj = obj.__dict__
5657
obj.pop('skyfield_name')
58+
obj['object'] = obj.pop('name')
59+
obj['details'] = obj.pop('ephemerides')
5760
return obj
5861
if isinstance(obj, AsterEphemerides):
5962
return obj.__dict__

test/dumper.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,23 @@ def test_json_dumper_returns_correct_json(self):
1818
' "phase": "FULL_MOON",\n'
1919
' "date": "2019-10-14T00:00:00Z"\n'
2020
' },\n'
21-
' "details": [\n'
22-
' {\n'
23-
' "name": "Mars",\n'
24-
' "ephemerides": {\n'
25-
' "rise_time": null,\n'
26-
' "culmination_time": null,\n'
27-
' "set_time": null\n'
28-
' }\n'
29-
' }\n'
30-
' ],\n'
3121
' "events": [\n'
3222
' {\n'
3323
' "event_type": "OPPOSITION",\n'
3424
' "object": "Mars",\n'
3525
' "start_time": "2018-07-27T05:12:00Z",\n'
3626
' "end_time": null\n'
3727
' }\n'
28+
' ],\n'
29+
' "ephemerides": [\n'
30+
' {\n'
31+
' "object": "Mars",\n'
32+
' "details": {\n'
33+
' "rise_time": null,\n'
34+
' "culmination_time": null,\n'
35+
' "set_time": null\n'
36+
' }\n'
37+
' }\n'
3838
' ]\n'
3939
'}', JsonDumper(data,
4040
[Event('OPPOSITION', Planet('Mars', 'MARS'),

0 commit comments

Comments
 (0)