Browse Source

New version of scripts

compton 4 years ago
parent
commit
7f11e9fc53
2 changed files with 17 additions and 3 deletions
  1. 15 2
      src/compton_combiner.py
  2. 2 1
      src/compton_filter.py

+ 15 - 2
src/compton_combiner.py

@@ -51,7 +51,11 @@ class RunsDBHandler():
             if range[1] is not None:
                 cond += f" AND run <= {range[1]} "
         elif isinstance(range[0], datetime):
-            cond = f" AND stoptime BETWEEN %s AND %s"
+            cond = f" AND starttime >= %s "
+            if range[1] is not None:
+                cond += " AND stoptime <= %s"
+            else:
+                range = (range[0], )
             
         sql_query = f"""
         SELECT 
@@ -370,6 +374,7 @@ def main():
     parser.add_argument('--csv', action = 'store_true', help = 'Save csv file with data or not')
     parser.add_argument('--clbrdb', action = 'store_true', help = 'Update Compton_run_avg clbrdb or not')
     parser.add_argument('--pics_folder', help = 'Path to the directory for saving the pictures')
+    parser.add_argument('--only_last', action = 'store_true', help = 'Compute values of the last (in Compton_run_avg clbrdb) and new points only')
     
     args = parser.parse_args()
     # logging.info(f"Arguments: season: {args.season}, config {args.config}")
@@ -378,15 +383,23 @@ def main():
     parser.read(args.config);
     
     rdb = RunsDBHandler(**parser['cmdruns'])
+    clbrdb = CalibrdbHandler(**parser['clbrDB'])
     
     idx = SEASONS['name'].index(args.season)
     runs_range = (SEASONS['start_run'][idx], SEASONS['start_run'][idx+1])
+    
+    if args.only_last:
+        res_avg = clbrdb.load_table('Misc', 'RunHeader', 'Compton_run_avg', num_last_rows = 1)
+        if len(res_avg[0]) != 0:
+            begintime = res_avg[0][0][res_avg[1].index("begintime")]
+            runs_range = (begintime, None)
+    
     res_rdb = rdb.load_tables(runs_range)
     runs_df = pd.DataFrame(res_rdb[0], columns=res_rdb[1])
     
     tdlt0 = timedelta(days=2)
     time_range = (runs_df.starttime.min() - tdlt0, runs_df.stoptime.max() + tdlt0)
-    clbrdb = CalibrdbHandler(**parser['clbrDB'])
+    
     res_clbrdb = clbrdb.load_table('Misc', 'RunHeader', 'Compton_run', num_last_rows = None, timerange = time_range)
     
     cb = Combiner(res_rdb, res_clbrdb)

+ 2 - 1
src/compton_filter.py

@@ -5,6 +5,7 @@ Script to fill calibration database with filtering slowdb compton measurements
 import argparse
 from configparser import ConfigParser
 from datetime import datetime, timedelta, timezone
+import sys
 from typing import Tuple, List, Dict, Union, Optional
 import warnings
 import logging
@@ -353,7 +354,7 @@ class CalibrdbHandler(PostgreSQLHandler):
     
 def main():
     log_format = '[%(asctime)s] %(levelname)s: %(message)s'
-    logging.basicConfig(filename="compton_filter.log", format=log_format, level=logging.INFO)
+    logging.basicConfig(stream=sys.stdout, format=log_format, level=logging.INFO) #"filename=compton_filter.log"
     logging.info("Program started")
     
     parser = argparse.ArgumentParser(description = 'Filter compton energy measurements from slowdb')