def __init__(self): init() self.console_width = getTerminalSize()[0] - 2 self.lock = threading.Lock() self.STOP_ME = False parse_args(self) load_proxy(self) self.gen_params_queue() parse_request(self)
#! /usr/bin/env python3 __author__ = 'ben' import subprocess, os, difflib, shlex, argparse from lib.termcolor import colored from lib.colorama import init init() class TestRunner(object): # Default values for settings DEFAULTS = { 'resultsDir': 'testres/', 'assetsDir': 'assets/', 'execDir': '.', 'timeout': 2, 'details': False, 'fullPath': False } # Types of output from the script OUTPUTS = ['out', 'err'] def _log(self, message, show = True): if show: print(message) def _printDetail(self, message): self._log(message, show = self._config['details'])
readline.add_history(histstatement.encode('utf-8')) except: pass before = datetime.datetime.now() cursor = connection.cursor() try: cexec=cursor.execute(statement) try: newcols=[x for x,y in cursor.getdescription()] lastcols[0:len(newcols)]=newcols except apsw.ExecutionCompleteError, e: newcols=[] colorama.init() rownum=0 for row in cexec: printrow(row) rownum+=1 cursor.close() after=datetime.datetime.now() tmdiff=after-before schemaprint(newcols) if not pipedinput: if rownum==0: printterm( "Query executed in %s min. %s sec %s msec." %((int(tmdiff.days)*24*60+(int(tmdiff.seconds)/60),(int(tmdiff.seconds)%60),(int(tmdiff.microseconds)/1000))) ) else: print "Query executed and displayed %s"%(rownum),
try: if queryplan: cexec = connection.queryplan(statement) desc = cexec.next() else: cursor = connection.cursor() cexec = cursor.execute(statement) try: desc = cursor.getdescriptionsafe() lastcols[0:len(desc)] = [x for x, y in desc] except apsw.ExecutionCompleteError, e: desc = [] newcols = [x for x, y in desc] colorama.init() rownum = 0 if not pipedinput: for row in cexec: printrow(row) rownum += 1 else: print( json.dumps({"schema": desc}, separators=(',', ':'), ensure_ascii=False).encode('utf_8', 'replace')) for row in cexec: print(json.dumps(row, separators=(',', ':'), ensure_ascii=False).encode('utf_8', 'replace')) if nobuf: sys.stdout.flush() print sys.stdout.flush()
def activate(self): thread = None ''' Like ``FrameVisualizer``, ``AsciiVisualizer`` won't start on init - if you want to see the output, you have to invoke this method. ''' colorama.init() _clear() self._help() self.prev_frame = None print(Fore.MAGENTA + Style.BRIGHT + 'Press Any Key to begin...') self._detect_arrow(getch()) self._print_frame_diff(0) self.nextc = False self.prevspec = False try: while True: (key, arrow) = self._read_key() self.stop = True if arrow is None and key is None: continue if arrow == 'H': self._print_frame_diff(0) elif arrow == 'E': self._print_frame_diff(len(self.game_controller.jury_states) - 1) elif arrow == 'N': self._print_frame_diff( min( len(self.game_controller.jury_states) - 1, self.frame_number + ceil(len(self.game_controller.jury_states) / 20) ) ) elif arrow == 'U': self._print_frame_diff( max(0, self.frame_number - ceil(len(self.game_controller.jury_states) / 20)) ) elif arrow == 'C' or arrow is None and key in self.key_sets['next']: # next if self.frame_number < self._jury_state_count() - 1: if name == 'posix': self._print_frame_diff(self.frame_number + 1) else: self._print_frame_diff(self.frame_number + 1) else: self._print_frame_diff(self.frame_number) self._error('this is the last frame.') elif arrow == 'D' or arrow is None and key in self.key_sets['prev']: # prev if self.frame_number > 0: self._print_frame_diff(self.frame_number - 1) else: self._print_frame_diff(self.frame_number) self._error('this is the first frame.') elif arrow == 'A' or arrow is None and key in self.key_sets['auto']: while True: reply = self._prompt( 'Enter FPS and, optionally, the frame to stop on (separated by a space)') if reply: cmd = reply.split() try: speed = float(cmd[0]) except ValueError: speed = 0 if speed: jscount = self._jury_state_count() if speed >= 0: addv = 1 time = 1 / speed else: addv = -1 time = -1 / speed if len(cmd) > 1 and cmd[1].isnumeric(): endframe = int(cmd[1]) - 1 else: endframe = jscount try: if not thread or not thread.is_alive(): self.stop = False self.prev_frame = None thread = Thread(target=self.auto, args=(addv, time, jscount, endframe, name)) thread.start() except KeyboardInterrupt: _clear() self._print_frame(self.frame_number) break self._error('The speed must be a real nonzero number') elif arrow is None and key in self.key_sets['quit']: print('Quit') return None elif arrow == 'B' or arrow is None and key in self.key_sets['jump']: while True: frame = self._prompt('Enter frame number') # Add some fool-protection... if frame.isnumeric(): number = int(frame) - 1 if number >= 0 and number < self._jury_state_count(): self._print_frame(number) break else: if number < 0: self._error('Enter a positive integer.') else: self._error('No such frame.') else: self._error('Enter a positive integer.') else: self._print_frame(self.frame_number) self._help() self.prev_frame = None finally: _clear() colorama.deinit()