From 4029ba9ec208214d24070f99be06bc88d7923210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Deuchnord?= Date: Mon, 9 Dec 2019 13:09:32 +0100 Subject: [PATCH] feat: rename fields in the JSON response for more coherence BREAKING CHANGE: the fields "details" and "ephemerides" have been switched. --- kosmorrolib/dumper.py | 3 +++ test/dumper.py | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/kosmorrolib/dumper.py b/kosmorrolib/dumper.py index 64d5644..54be5f0 100644 --- a/kosmorrolib/dumper.py +++ b/kosmorrolib/dumper.py @@ -39,6 +39,7 @@ class Dumper(ABC): class JsonDumper(Dumper): def to_string(self): self.ephemeris['events'] = self.events + self.ephemeris['ephemerides'] = self.ephemeris.pop('details') return json.dumps(self.ephemeris, default=self._json_default, indent=4) @@ -54,6 +55,8 @@ class JsonDumper(Dumper): if isinstance(obj, Object): obj = obj.__dict__ obj.pop('skyfield_name') + obj['object'] = obj.pop('name') + obj['details'] = obj.pop('ephemerides') return obj if isinstance(obj, AsterEphemerides): return obj.__dict__ diff --git a/test/dumper.py b/test/dumper.py index f3625de..7d18aec 100644 --- a/test/dumper.py +++ b/test/dumper.py @@ -18,16 +18,6 @@ class DumperTestCase(unittest.TestCase): ' "phase": "FULL_MOON",\n' ' "date": "2019-10-14T00:00:00Z"\n' ' },\n' - ' "details": [\n' - ' {\n' - ' "name": "Mars",\n' - ' "ephemerides": {\n' - ' "rise_time": null,\n' - ' "culmination_time": null,\n' - ' "set_time": null\n' - ' }\n' - ' }\n' - ' ],\n' ' "events": [\n' ' {\n' ' "event_type": "OPPOSITION",\n' @@ -35,6 +25,16 @@ class DumperTestCase(unittest.TestCase): ' "start_time": "2018-07-27T05:12:00Z",\n' ' "end_time": null\n' ' }\n' + ' ],\n' + ' "ephemerides": [\n' + ' {\n' + ' "object": "Mars",\n' + ' "details": {\n' + ' "rise_time": null,\n' + ' "culmination_time": null,\n' + ' "set_time": null\n' + ' }\n' + ' }\n' ' ]\n' '}', JsonDumper(data, [Event('OPPOSITION', Planet('Mars', 'MARS'),