def tearDown(self, fake=False): self.etype = None self.motion_event = None self.touch_event = None from kivy.base import EventLoop win = EventLoop.window win.mouse_pos = self.old_mouse_pos win.rotation = self.old_rotation win.old_system_size = self.old_system_size self.old_mouse_pos = None self.old_rotation = None self.old_system_size = None if self.button_widget: win.remove_widget(self.button_widget) self.button_widget = None mouse = self.mouse mouse.stop() EventLoop.remove_input_provider(mouse) self.mouse = None win.funbind('on_motion', self.on_motion) # Restore method `on_close` to window if not (platform == 'win' and 'CI' in os.environ): win.on_close = self.old_on_close self.old_on_close = None super().tearDown(fake)
def on_play(self, instance, value): if not value: Logger.info('Recorder: Stop playing %r' % self.filename) EventLoop.remove_input_provider(self) return if not exists(self.filename): Logger.error('Recorder: Unable to found %r file, play aborted.' % ( self.filename)) return with open(self.filename, 'r') as fd: data = fd.read().splitlines() if len(data) < 2: Logger.error('Recorder: Unable to play %r, file truncated.' % ( self.filename)) return if data[0] != '#RECORDER1.0': Logger.error('Recorder: Unable to play %r, invalid header.' % ( self.filename)) return # decompile data self.play_data = [literal_eval(x) for x in data[1:]] self.play_time = time() self.play_me = {} Logger.info('Recorder: Start playing %d events from %r' % (len(self.play_data), self.filename)) EventLoop.add_input_provider(self)
def tearDown(self, fake=False): self.etype = None self.motion_event = None self.touch_event = None from kivy.base import EventLoop win = EventLoop.window if self.button_widget: win.remove_widget(self.button_widget) self.button_widget = None mouse = self.mouse mouse.stop() EventLoop.remove_input_provider(mouse) self.mouse = None win.funbind('on_motion', self.on_motion) # Restore method `on_close` to window win.on_close = self.old_on_close self.old_on_close = None super().tearDown(fake)