diff --git a/cli_archiveextractor.py b/cli_archiveextractor.py old mode 100644 new mode 100755 index 5c22c1885be347bf156cd91cac9f357f281b37bc..9a5e7f0101680ee217cdbafd84b61aac1aaba7c8 --- a/cli_archiveextractor.py +++ b/cli_archiveextractor.py @@ -3,7 +3,11 @@ Command Line Interface to use ArchiveExtractor module """ import argparse -import ArchiveExtractor +import core.ArchiveExtractor as AE +import logging +import datetime +import numpy as np +import PyTango as tango # Name the logger after the filename logger = logging.getLogger("ArchiveExtractor") @@ -17,15 +21,15 @@ dateStart = datetime.datetime.now()-datetime.timedelta(days=1) ####################################################### # Install argument parser -parser = argparse.ArgumentParser(description="Extract attributes from the extractor devices.\nVersion %s"%__version__) +parser = argparse.ArgumentParser(description="Extract attributes from the extractor devices.\nVersion %s"%AE.__version__) -parser.add_argument("--from", type=dateparse, dest="dateStart", +parser.add_argument("--from", type=AE.ArchiveExtractor.dateparse, dest="dateStart", help="Start date for extraction, format '1990-12-13-22:33:45'. "+ "It is possible to be less precise and drop, seconds, minutes, hours or even day."+ " Default is one day ago", default=dateStart) -parser.add_argument("--to", type=dateparse, dest="dateStop", +parser.add_argument("--to", type=AE.ArchiveExtractor.dateparse, dest="dateStop", help="Stop date for extraction, format '1990-12-13-22:33:45'. It is possible to be less precise and drop, seconds, minutes, hours or even day."+ " Default is now.", default=dateStop) @@ -68,7 +72,7 @@ logger.addHandler(s_handler) logger.debug("Parsed arguments: %s"%args) -logger.info("Archive Extractor %s"%__version__) +logger.info("Archive Extractor %s"%AE.__version__) ####################################################### # Filemode or not @@ -90,9 +94,9 @@ else: ####################################################### # Instanciate Extractor if args.DB == "L": - AE = ArchiveExtractor.ArchiveExtractor(extractorPath="archiving/extractor/%d"%(args.DBN)) + AE = AE.ArchiveExtractor(extractorPath="archiving/extractor/%d"%(args.DBN), logger=logger) else: - AE = ArchiveExtractor.ArchiveExtractor(args.DB, args.DBN) + AE = AE.ArchiveExtractor(args.DB, args.DBN, logger=logger) ####################################################### # Prepare dictionnary for result diff --git a/core/ArchiveExtractor.py b/core/ArchiveExtractor.py index ae66b91c0aa398414e986395ec0db970599ddcc0..f04984412df4b93be1c71b58b92c5ffd2c163ab0 100755 --- a/core/ArchiveExtractor.py +++ b/core/ArchiveExtractor.py @@ -227,8 +227,8 @@ class ArchiveExtractor: self, attribute, dateStart, - timeInterval=datetime.timedelta(seconds=60), dateStop=datetime.datetime.now(), + timeInterval=datetime.timedelta(seconds=60), ): """ Query attribute data from an archiver database, get all points between dates. @@ -297,12 +297,12 @@ class ArchiveExtractor: cdates.append(cdates[-1]+timeInterval) cdates[-1] = dateStop mdates = np.asarray(cdates[:-1])+timeInterval/2 - logger.debug("Cutting time range to %d chunks of time, %s each."%(len(cdates)-1, dt)) + self.logger.debug("Cutting time range to %d chunks of time, %s each."%(len(cdates)-1, timeInterval)) # Prepare arrays - value_min = np.empty(len(cdates-1)) - value_max = np.empty(len(cdates-1)) - value_mean = np.empty(len(cdates-1)) + value_min = np.empty(len(cdates)-1) + value_max = np.empty(len(cdates)-1) + value_mean = np.empty(len(cdates)-1) # For each time chunk for i_d in range(len(cdates)-1): @@ -311,7 +311,7 @@ class ArchiveExtractor: [value_max, value_min, value_mean], ): # Make requests - logger.debug("Perform GetAttData%sBetweenDates (%s, %s, %s)"%( + self.logger.debug("Perform GetAttData%sBetweenDates (%s, %s, %s)"%( func, attribute, cdates[i_d].strftime(DBDFMT2),