def toc(): global _tictoc_t0 t1 = _clock() - _tictoc_t0 nargin, nargout = _get_narginout(0) if nargout > 0: return t1 print 'Elapsed time is %0.6f seconds.'%t1
def wait(self, timeout=None): if not self._is_owned(): raise RuntimeError("cannot wait on un-acquired lock") waiter = _allocate_lock() waiter.acquire() self._waiters.append(waiter) saved_state = self._release_save() try: # restore state no matter what (e.g., KeyboardInterrupt) if timeout is None: waiter.acquire() if __debug__: self._note("%s.wait(): got it", self) else: # Balancing act: We can't afford a pure busy loop, so we # have to sleep; but if we sleep the whole timeout time, # we'll be unresponsive. The scheme here sleeps very # little at first, longer as time goes on, but never longer # than 20 times per second (or the timeout time remaining). endtime = _clock() + timeout delay = 0.0005 # 500 us -> initial delay of 1 ms while True: gotit = waiter.acquire(0) if gotit: break remaining = endtime - _clock() if remaining <= 0: break delay = min(delay * 2, remaining, .05) _sleep(delay) if not gotit: if __debug__: self._note("%s.wait(%s): timed out", self, timeout) try: self._waiters.remove(waiter) except ValueError: pass else: if __debug__: self._note("%s.wait(%s): got it", self, timeout) finally: self._acquire_restore(saved_state)
def tic(): global _tictoc_t0 _tictoc_t0 = _clock()
def get_typed(Key, maxlen, hotkeys=[]): 'Check for typed input. if any hotkeys, specify letter after ctrl\neg ctrl a -> hotkeys = [\'a\']' global __Shifted, __lastBlink, _blink, __checkfor if Key == '|': Key = '' elif Key != '' and Key[-1] == '|': Key = Key[:-1] for event in _pygame.event.get([_pygame.KEYDOWN, _pygame.KEYUP]): #print(event.key) if event.key in [_pygame.K_LCTRL, _pygame.K_RCTRL ] and __checkfor and event.type == _pygame.KEYUP: __checkfor = False continue elif chr(event.key) in hotkeys and __checkfor: _pygame.event.post( _pygame.event.Event(HOTKEYEVENT, {'key': event.key})) #print('hoi') continue elif event.key in [_pygame.K_LCTRL, _pygame.K_RCTRL ] and event.type == _pygame.KEYDOWN: #_pygame.event.post(_pygame.event.Event(_pygame.KEYDOWN,{'key':event.key})) __checkfor = True continue if event.key in [_pygame.K_LSHIFT, _pygame.K_RSHIFT ] and event.type == _pygame.KEYDOWN: __Shifted = True elif event.key in [_pygame.K_LSHIFT, _pygame.K_RSHIFT ] and event.type == _pygame.KEYUP: __Shifted = False elif event.key == _pygame.K_RETURN: return 1 elif event.key == _pygame.K_BACKSPACE and event.type == _pygame.KEYDOWN and Key != []: Key = Key[:-1] elif event.key == _pygame.K_CAPSLOCK and event.type == _pygame.KEYDOWN: pass #elif event.key == _pygame.K_ESCAPE: continue elif not __Shifted and event.type == _pygame.KEYDOWN and chr( event.key ) in ' `1234567890-=qwertyuiop[]\\asdfghjkl;\'zxcvbnm,./': Key += chr(event.key) elif __Shifted and event.type == _pygame.KEYDOWN: if _pygame.K_a <= event.key <= _pygame.K_z: Key += chr(event.key - 32) elif event.key == _pygame.K_BACKQUOTE: Key += '~' elif event.key == _pygame.K_1: Key += '!' elif event.key == _pygame.K_2: Key += '@' elif event.key == _pygame.K_3: Key += '#' elif event.key == _pygame.K_4: Key += '$' elif event.key == _pygame.K_5: Key += '%' elif event.key == _pygame.K_6: Key += '^' elif event.key == _pygame.K_7: Key += '&' elif event.key == _pygame.K_8: Key += '*' elif event.key == _pygame.K_9: Key += '(' elif event.key == _pygame.K_0: Key += ')' elif event.key == _pygame.K_MINUS: Key += '_' elif event.key == _pygame.K_EQUALS: Key += '+' elif event.key == _pygame.K_LEFTBRACKET: Key += '{' elif event.key == _pygame.K_RIGHTBRACKET: Key += '}' elif event.key == _pygame.K_BACKSLASH: Key += '|' elif event.key == _pygame.K_SEMICOLON: Key += ':' elif event.key == _pygame.K_QUOTE: Key += '"' elif event.key == _pygame.K_COMMA: Key += '<' elif event.key == _pygame.K_PERIOD: Key += '>' elif event.key == _pygame.K_SLASH: Key += '?' else: _pygame.event.post(_pygame.event.Event(event.type, event.dict)) __checkfor = False while len(Key) > maxlen: Key = Key[:-1] if __lastBlink == 0: __lastBlink = _clock() elif _clock() - __lastBlink >= 0.5: __lastBlink = _clock() _blink = not _blink if _blink: Key += '|' return Key