diff --git a/classes/__init__.py b/classes/__init__.py index 6485373..ab86542 100644 --- a/classes/__init__.py +++ b/classes/__init__.py @@ -80,7 +80,11 @@ class Service: out = " " * indent + "\n" % ("" if iid is False else " id=\"%i\"" % iid) out += (" " * indent + " %s\n" % self.name) if name else "" - out += (" " * indent + " %s\n" % self.dest.name) if dest and self.dest else "" + + if dest and self.dest: + out += " " * indent + " \n" + out += self.dest.xml(indent + 2, **stationkwargs) + "\n" + out += " " * indent + " \n" if depst or deptime or deppf or currdep: out += " " * indent + " \n" @@ -119,7 +123,10 @@ class Service: out += (" " * indent + " \"@id\": %i,\n" % iid) if iid is not False else "" out += (" " * indent + " \"name\": \"%s\",\n" % self.name) if name else "" - out += (" " * indent + " \"destination\": \"%s\",\n" % self.dest.name) if dest and self.dest else "" + + if dest and self.dest: + out += " " * indent + " \"destination\":\n" + out += self.dest.json(indent + 2, **stationkwargs) + ",\n" if depst or deptime or deppf or currdep: dep = " " * indent + " \"departure\": {\n" @@ -220,7 +227,7 @@ class Connection: def changes(self): return max(len([service for service in self.services if service.name != "Walk"]) - 1, 0) if self.details else max(len([service for service in self.services[0].name.split("/") if service != "Walk"]) - 1, 0) - def xml(self, indent = 0, cid = False, frm = True, to = True, deptime = True, arrtime = True, duration = True, changes = True, services = True, servicekwargs = {}, stationkwargs = {}): + def xml(self, indent = 0, cid = False, frm = True, to = True, deptime = True, arrtime = True, duration = True, changes = True, services = True, servicekwargs = {"stationkwargs": {"extid": False}}, stationkwargs = {"extid": False}): out = " " * indent + "\n" % ("" if cid is False else " id=\"%i\"" % cid) if frm: @@ -265,7 +272,7 @@ class Connection: return out - def json(self, indent = 0, cid = False, frm = True, to = True, deptime = True, arrtime = True, duration = True, changes = True, services = True, servicekwargs = {}, stationkwargs = {}): + def json(self, indent = 0, cid = False, frm = True, to = True, deptime = True, arrtime = True, duration = True, changes = True, services = True, servicekwargs = {"stationkwargs": {"extid": False}}, stationkwargs = {"extid": False}): out = " " * indent + "{\n" out += (" " * indent + " \"@id\": %i,\n" % cid) if cid is not False else ""