X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2Futils.py;h=8143b95f686a1db87d5fdc7e5e749edcc9cf7b47;hb=c8e2f4e3a327181b29521583770a6f0ff68ca6eb;hp=701ad3ffc4a05435677ee3e61c52650cd7c25122;hpb=65c93a296f2e481a312e7846f518eb2eaa2fc080;p=tests.git diff --git a/system/utils.py b/system/utils.py index 701ad3f..8143b95 100644 --- a/system/utils.py +++ b/system/utils.py @@ -8,37 +8,39 @@ options={} def init_options(options_arg): global options - options=options_arg + options = options_arg # how could this accept a list again ? def header(message): - now=time.strftime("%H:%M:%S", time.localtime()) - print "*",now,'--',message + now = time.strftime("%H:%M:%S", time.localtime()) + print "*", now, '--', message -def pprint(message,spec,depth=2): - now=time.strftime("%H:%M:%S", time.localtime()) - print ">",now,"--",message - PrettyPrinter(indent=8,depth=depth).pprint(spec) +def pprint(message, spec, depth=2): + now = time.strftime("%H:%M:%S", time.localtime()) + print ">", now, "--", message + PrettyPrinter(indent=8, depth=depth).pprint(spec) def system(command, background=False, silent=False, dry_run=None): dry_run = dry_run if dry_run is not None else getattr(options, 'dry_run', False) if dry_run: - print 'dry_run:',command + print 'dry_run:', command return 0 if silent : - if command.find(';')>=0: command = "(%s) 2> /dev/null" % command + if command.find(';') >= 0: + command = "({}) 2> /dev/null".format(command) else: command += " 2> /dev/null" - if background: command += " &" + if background: + command += " &" if silent: print '.', sys.stdout.flush() else: - now=time.strftime("%H:%M:%S", time.localtime()) + now = time.strftime("%H:%M:%S", time.localtime()) # don't show in summary - print "->",now,'--', + print "->", now, '--', sys.stdout.flush() if not silent: command = "set -x; " + command @@ -47,36 +49,38 @@ def system(command, background=False, silent=False, dry_run=None): ### WARNING : this ALWAYS does its job, even in dry_run mode def output_of (command): import commands - (code,string) = commands.getstatusoutput(command) - return (code,string) + (code, string) = commands.getstatusoutput(command) + return (code, string) # convenience: translating shell-like pattern into regexp def match (string, pattern): # tmp - there's probably much simpler # rewrite * into .*, ? into . - pattern=pattern.replace("*",".*") - pattern=pattern.replace("?",".") + pattern = pattern.replace("*",".*") + pattern = pattern.replace("?",".") return re.compile(pattern).match(string) def locate_hooks_scripts (message, path, extensions): - print message,'searching',path,'for extensions',extensions - scripts=[] + print message, 'searching', path, 'for extensions', extensions + scripts = [] for ext in extensions: # skip helper programs - scripts += glob.glob (path+'/[a-zA-Z]*.'+ext) + scripts += glob.glob (path+'/[a-zA-Z]*.' + ext) return scripts # quick & dirty - should probably use the parseroption object instead # and move to TestMain as well exclude_options_keys = [ 'ensure_value' , 'read_file', 'read_module' ] def show_options (message, options): - now=time.strftime("%H:%M:%S", time.localtime()) - print ">",now,"--",message + now = time.strftime("%H:%M:%S", time.localtime()) + print ">", now, "--", message for k in dir(options): - if k.find("_")==0: continue - if k in exclude_options_keys: continue - print " ",k,":",getattr(options,k) + if k.find("_") == 0: + continue + if k in exclude_options_keys: + continue + print " ", k, ":", getattr(options, k)