Parcourir la source

added default None values for start and stop in InfluxdbHandler.query_between_dates

tanja il y a 3 ans
Parent
commit
88dd362c85
1 fichiers modifiés avec 24 ajouts et 10 suppressions
  1. 24 10
      cdplib/db_handlers/InfluxdbHandler.py

+ 24 - 10
cdplib/db_handlers/InfluxdbHandler.py

@@ -91,8 +91,8 @@ class InfluxdbHandler:
 
     def query_between_dates(self, columns: str,
                             tables: str,
-                            start: str,
-                            stop: str) -> pd.DataFrame:
+                            start: str = None,
+                            stop: str = None) -> pd.DataFrame:
         """
         :param columns: DESCRIPTION
         :type columns: str
@@ -106,21 +106,35 @@ class InfluxdbHandler:
         :rtype: TYPE
 
         """
-        if not isinstance(start, str):
+        if (start is not None) and (not isinstance(start, str)):
             start = datetime.strftime(start, format="%Y-%m-%dT%H:%M:%SZ")
 
-        if not isinstance(stop, str):
+        if (stop is not None) and (not isinstance(stop, str)):
             stop = datetime.strftime(stop, format="%Y-%m-%dT%H:%M:%SZ")
-
-        query = 'SELECT ' +\
-                columns +\
-                ' FROM \"' +\
-                tables +\
-                '\" WHERE time > \'' +\
+            
+        query = 'SELECT ' + columns + ' FROM \"' + tables
+            
+        if (start is not None) and (stop is not None):
+            
+             query += '\" WHERE time > \'' +\
                 str(start) +\
                 '\' AND time  < \'' +\
                 str(stop) +\
                 '\' tz(\'Europe/Berlin\');'
+                
+        elif start is not None:
+            
+            query += '\" WHERE time >= \'' + str(start) +\
+                '\' tz(\'Europe/Berlin\');'
+            
+        elif stop is not None:
+            
+            query += '\" WHERE time <= \'' + str(stop) +\
+                '\' tz(\'Europe/Berlin\');'
+                
+        else:
+            query += ';'
+            
 
         return self.query_to_dataframe(query)