emsgsplit = emsg.split(u':') print Fore.RED + Style.BRIGHT + emsgsplit[0] + u':' + Style.RESET_ALL + u':'.join(emsgsplit[1:]) else: print e except: print e continue except Exception, e: trlines = [] for i in reversed(traceback.format_exc(limit=sys.getrecursionlimit()).splitlines()): trlines.append(i) if i.strip().startswith('File'): break msg = Fore.RED + Style.BRIGHT + "Unknown error:" + Style.RESET_ALL + "\nTraceback is:\n" + '\n'.join( reversed(trlines)) if pipedinput: exitwitherror(functions.mstr(msg)) else: print msg finally: colorama.deinit() try: cursor.close() except: # print "Not proper clean-up" pass
if pipedinput: exitwitherror(functions.mstr(emsg)) try: if u'Error:' in emsg: emsgsplit=emsg.split(u':') print Fore.RED+Style.BRIGHT+ emsgsplit[0] +u':'+Style.RESET_ALL+ u':'.join(emsgsplit[1:]) else: print e except: print e continue except Exception, e: trlines = [] for i in reversed(traceback.format_exc().splitlines()): trlines.append(i) if i.strip().startswith('File'): break msg=Fore.RED+Style.BRIGHT+"Unknown error:" + Style.RESET_ALL + "\nTraceback is:\n" + '\n'.join(reversed(trlines)) if pipedinput: exitwitherror(functions.mstr(msg)) print msg finally: colorama.deinit() try: cursor.close() except: #print "Not proper clean-up" pass
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()