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