From: Javier Sancho Date: Mon, 8 Oct 2018 10:53:33 +0000 (+0200) Subject: Include Row class for returning data from connectors X-Git-Url: https://git.jsancho.org/?a=commitdiff_plain;h=84a029dfd6977205ab038a000fd8f31096d8586a;p=datasette-connectors.git Include Row class for returning data from connectors --- 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__()