diff -r 2a2d0d5df03b -r fda45bdfd68d pgtoolkit/tools/loopquery.py --- a/pgtoolkit/tools/loopquery.py Tue May 06 18:37:43 2014 +0200 +++ b/pgtoolkit/tools/loopquery.py Wed May 07 18:33:50 2014 +0200 @@ -1,11 +1,11 @@ -from pgtoolkit.toolbase import ToolBase +from pgtoolkit.toolbase import SimpleTool import logging.handlers import time from datetime import datetime, timedelta -class LoopQueryTool(ToolBase): +class LoopQueryTool(SimpleTool): """ Execute queries in loop, with configurable interval. @@ -13,40 +13,31 @@ """ def __init__(self): - ToolBase.__init__(self, name='loopquery') + SimpleTool.__init__(self, name='loopquery') self.target_isolation_level = 'autocommit' def specify_args(self): - ToolBase.specify_args(self) - self.parser.add_argument('target', nargs='?', metavar='target', type=str, help='Target database') - self.parser.add_argument('-c', dest='config', type=str, help='Additional config file (besides pgtoolkit.conf).') + SimpleTool.specify_args(self) self.parser.add_argument('-q', dest='queries', metavar='QUERY', nargs='*', help='Queries to run.') self.parser.add_argument('--mins', dest='delay_mins', type=int, help='Delay between queries in minutes.') self.parser.add_argument('--secs', dest='delay_secs', type=int, help='Delay between queries in seconds.') - self.config.add_option('target', type=str, default=None) self.config.add_option('queries', type=list, default=[]) self.config.add_option('delay_mins', type=int, default=0) self.config.add_option('delay_secs', type=int, default=0) self.config.add_option('log_path', type=str) def load_args(self, args=None, config_file=None): - ToolBase.load_args(self, args, config_file) - if self.args.config: - self.config.load(self.args.config) + SimpleTool.load_args(self, args, config_file) self.queries = self.args.queries or self.config.queries self.delay_mins = self.args.delay_mins or self.config.delay_mins self.delay_secs = self.args.delay_secs or self.config.delay_secs def init_logging(self): - ToolBase.init_logging(self) + SimpleTool.init_logging(self) if self.config.log_path: self.init_file_logs(self.config.log_path) - def setup(self, args=None): - ToolBase.setup(self, args) - self.prepare_conns(target=self.args.target or self.config.target) - def init_file_logs(self, path): format = logging.Formatter('%(asctime)s %(levelname)-5s %(message)s', '%y-%m-%d %H:%M:%S') handler = logging.handlers.TimedRotatingFileHandler(path+'/main.log', when='midnight', backupCount=5)