From 0af971b87e51917d944c3b7799507d6234ab49a7 Mon Sep 17 00:00:00 2001 From: Christoph Alt <christoph.alt@fau.de> Date: Wed, 19 Oct 2022 15:42:01 +0200 Subject: [PATCH] moved queries to a common lib --- common/__init__.py | 0 common/queries.py | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 common/__init__.py create mode 100644 common/queries.py diff --git a/common/__init__.py b/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/common/queries.py b/common/queries.py new file mode 100644 index 0000000..92667ab --- /dev/null +++ b/common/queries.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass, field +from typing import List + + +@dataclass +class Query: + _from: str + _select: str = "*" + _where: str = "" + _group_by: List[str] = field(default_factory=list) + + def __str__(self): + + ret = f'SELECT \"{self._select}\" ' + ret += f'FROM \"{self._from}\"' + if self._where: + ret += f' WHERE ({self._where}) AND $timeFilter' + else: + ret += ' WHERE $timeFilter' + if self._group_by: + group_by = ', '.join(f'"{tag}"' for tag in self._group_by) + ret += f' GROUP BY {group_by}' + return ret + + +@dataclass +class ShowTagQuery: + base = "SHOW TAG VALUES" + + _key_name: str + _from: str = "" + + def __str__(self): + from_part = "" + if self._from != "": + from_part = f'FROM "{self._from}" ' + + return f"{self.base} {from_part}WITH key = \"{self._key_name}\"" -- GitLab