def refresh_codes(self, timestamp=None, conn=None): if not self._reader and self.watcher.reader: return self._on_reader(self.watcher, self.watcher.reader) elif is_minimized(self._app.window): self._needs_read = True return self._app.worker.post_bg((self._refresh_codes_worker, timestamp, conn))
def timerEvent(self, event): if not is_minimized(self._app.window): timestamp = self.timer.time if self._reader and self._needs_read: self.refresh_codes() elif self._reader is None: if self.otp_enabled: def refresh_otp(): lock = self.grab_lock(try_lock=True) if lock: read = self.read_creds(None, self.slot1, self.slot2, timestamp, False) self._set_creds(read) self._app.worker.post_bg(refresh_otp) else: if ccid_supported_but_disabled(): if not self._current_device_has_ccid_disabled: self.ccid_disabled.emit() self._current_device_has_ccid_disabled = True event.accept() return self._current_device_has_ccid_disabled = False event.accept()
def _on_reader(self, watcher, reader): if reader: if self._reader is None: self._reader = reader self._creds = [] if is_minimized(self._app.window): self._needs_read = True else: device = watcher.open() if device: try: conn = self.Connector(device) except CardError: self._reader = None self._creds = None self.changed.emit() return self._app.worker.post_fg((self._init_conn, conn)) else: self._needs_read = True elif self._needs_read: self.refresh_codes(self.timer.time) else: self._reader = None self._creds = None self.changed.emit()
def refresh_codes(self, timestamp=None, lock=None, std=None): if not self._reader and self.watcher.reader: return self._on_reader(self.watcher, self.watcher.reader, lock) elif is_minimized(self._app.window): self._needs_read = True return lock = self.grab_lock(lock, True) if not lock: return self._app.worker.post_bg( (self._refresh_codes_locked, timestamp, lock, std))
def refresh_codes(self, timestamp=None, lock=None, std=None): if not self._reader and self.watcher.reader: return self._on_reader(self.watcher, self.watcher.reader, lock) elif is_minimized(self._app.window): self._needs_read = True return lock = self.grab_lock(lock, True) if not lock: return self._app.worker.post_bg((self._refresh_codes_locked, timestamp, lock, std))
def timerEvent(self, event): if not is_minimized(self._app.window): if self._reader and self._needs_read: self.refresh_codes() elif self._reader is None and self.backend == 'ccid': if ccid_supported_but_disabled(): if not self._current_device_has_ccid_disabled: self.ccid_disabled.emit() self._current_device_has_ccid_disabled = True event.accept() return self._current_device_has_ccid_disabled = False event.accept()
def refresh_codes(self, timestamp=None, lock=None): if not self._reader and self.watcher.reader: return self._on_reader(self.watcher, self.watcher.reader, lock) elif is_minimized(self._app.window): self._needs_read = True return lock = self.grab_lock(lock, True) if not lock: return device = self.watcher.open() self._needs_read = bool(self._reader and device is None) timestamp = timestamp or self.timer.time try: creds = self.read_creds(device, self.slot1, self.slot2, timestamp) except DeviceLockedError: creds = [] self._set_creds(creds)
def refresh_codes(self, timestamp=None, lock=None): if not self._reader and self.watcher.reader: return self._on_reader(self.watcher, self.watcher.reader, lock) elif is_minimized(self._app.window): self._needs_read = True return lock = self.grab_lock(lock, True) if not lock: return device = self.watcher.open() self._needs_read = bool(self._reader and device is None) timestamp = timestamp or self.timer.time try: creds = self.read_creds(device, self.slot1, self.slot2, timestamp, False) except DeviceLockedError: creds = [] self._set_creds(creds)
def _on_reader(self, watcher, reader, lock=None): if reader: if self._reader is None: self._reader = reader self._creds = [] if is_minimized(self._app.window): self._needs_read = True else: ccid_dev = watcher.open() if ccid_dev: std = YubiOathCcid(ccid_dev) self._app.worker.post_fg((self._init_std, std)) else: self._needs_read = True elif self._needs_read: self.refresh_codes(self.timer.time) else: self._reader = None self._creds = None self.refreshed.emit()
def _on_reader(self, watcher, reader, lock=None): if reader: if self._reader is None: self._reader = reader self._creds = [] if is_minimized(self._app.window): self._needs_read = True else: ccid_dev = watcher.open() if ccid_dev: dev = YubiOathCcid(ccid_dev) self._app.worker.post_fg((self._init_dev, dev)) else: self._needs_read = True elif self._needs_read: self.refresh_codes(self.timer.time) else: self._reader = None self._creds = None self.refreshed.emit()
def timerEvent(self, event): if not is_minimized(self._app.window): timestamp = self.timer.time if self._reader and self._needs_read: self._app.worker.post_bg(self.refresh_codes) elif self._reader is None: if self.otp_enabled: def refresh_otp(): _lock = self.grab_lock(try_lock=True) if _lock: read = self.read_creds(None, self.slot1, self.slot2, timestamp, False) self._set_creds(read) self._app.worker.post_bg(refresh_otp) else: if ccid_supported_but_disabled(): if not self._current_device_has_ccid_disabled: self.ccid_disabled.emit() self._current_device_has_ccid_disabled = True event.accept() return self._current_device_has_ccid_disabled = False event.accept()