Source code for emdros2laf.mylib

import sys,os
import datetime
import time
import subprocess
import pprint

pp = pprint.PrettyPrinter(indent = 4)

[docs]def pretty(data): pp.pprint(data)
[docs]def camel(text): words = text.split(" ") return ''.join(words[x].capitalize() if x > 0 else words[x] for x in range(len(words)))
[docs]def fillup(size, val, lst): return tuple(lst[x] if x < len(lst) else val for x in range(size))
[docs]def today(): return datetime.date.today()
[docs]def run(cmd, dyld=False): if dyld: result = subprocess.check_call( 'export DYLD_LIBRARY_PATH=$DYLDLIBRARYPATH; '+cmd+' 2>&1', shell=True, env=dict(os.environ, DYLDLIBRARYPATH=os.environ.get('DYLD_LIBRARY_PATH', '')), ) else: result = subprocess.check_call(cmd+' 2>&1', shell=True) return result
# subprocess.check_call(cmd + ' 2>&1', shell = True)
[docs]def runx(cmd, dyld=False): if dyld: result = subprocess.call( 'export DYLD_LIBRARY_PATH=$DYLDLIBRARYPATH; '+cmd+' 2>&1', shell=True, env=dict(os.environ, DYLDLIBRARYPATH=os.environ.get('DYLD_LIBRARY_PATH', '')), ) else: result = subprocess.call(cmd+' 2>&1', shell=True) return result
# subprocess.call(cmd + ' 2>&1', shell = True)
[docs]class Timestamp(): timestamp = None def __init__(self): self.timestamp = time.time()
[docs] def elapsed(self): interval = time.time() - self.timestamp if interval < 10: return "{: 2.2f}s".format(interval) interval = int(round(interval)) if interval < 60: return "{:>2d}s".format(interval) if interval < 3600: return "{:>2d}m {:>02d}s".format(interval // 60, interval % 60) return "{:>2d}h {:>02d}m {:>02d}s".format(interval // 3600, (interval % 3600) // 60, interval % 60)
[docs] def progress(self, msg): print("{} {}".format(self.elapsed(), msg)) sys.stdout.flush()