From 84a029dfd6977205ab038a000fd8f31096d8586a Mon Sep 17 00:00:00 2001 From: Javier Sancho Date: Mon, 8 Oct 2018 12:53:33 +0200 Subject: [PATCH] Include Row class for returning data from connectors --- datasette_connectors/row.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 datasette_connectors/row.py diff --git a/datasette_connectors/row.py b/datasette_connectors/row.py new file mode 100644 index 0000000..bf4e2cc --- /dev/null +++ b/datasette_connectors/row.py @@ -0,0 +1,26 @@ +class Row(list): + def __init__(self, values=None): + self.labels = [] + self.values = [] + if values: + for idx in values: + self.__setitem__(idx, values[idx]) + + def __setitem__(self, idx, value): + if type(idx) is str: + if idx in self.labels: + self.values[self.labels.index(idx)] = value + else: + self.labels.append(idx) + self.values.append(value) + else: + self.values[idx] = value + + def __getitem__(self, idx): + if type(idx) is str: + return self.values[self.labels.index(idx)] + else: + return self.values[idx] + + def __iter__(self): + return self.values.__iter__() -- 2.39.2