def __init__(self, socketname, parent=None): """Start the IPC server and listen to commands. Args: socketname: The socketname to use. parent: The parent to be used. """ super().__init__(parent) self.ignored = False self._socketname = socketname self._timer = usertypes.Timer(self, 'ipc-timeout') self._timer.setInterval(READ_TIMEOUT) self._timer.timeout.connect(self.on_timeout) if utils.is_windows: # pragma: no cover self._atime_timer = None else: self._atime_timer = usertypes.Timer(self, 'ipc-atime') self._atime_timer.setInterval(ATIME_INTERVAL) self._atime_timer.timeout.connect(self.update_atime) self._atime_timer.setTimerType(Qt.VeryCoarseTimer) self._server = QLocalServer(self) self._server.newConnection.connect(self.handle_connection) self._socket = None self._old_socket = None if utils.is_windows: # pragma: no cover # If we use setSocketOptions on Unix with Qt < 5.4, we get a # NameError while listening... log.ipc.debug("Calling setSocketOptions") self._server.setSocketOptions(QLocalServer.UserAccessOption) else: # pragma: no cover log.ipc.debug("Not calling setSocketOptions")
def __init__(self, win_id, parent=None): super().__init__(win_id, parent, supports_count=True) self._read_config('normal') self._partial_timer = usertypes.Timer(self, 'partial-match') self._partial_timer.setSingleShot(True) self._partial_timer.timeout.connect(self._clear_partial_match) self._inhibited = False self._inhibited_timer = usertypes.Timer(self, 'normal-inhibited') self._inhibited_timer.setSingleShot(True)
def later(ms: int, command: str, win_id: int) -> None: """Execute a command after some time. Args: ms: How many milliseconds to wait. command: The command to run, with optional args. """ if ms < 0: raise cmdutils.CommandError("I can't run something in the past!") commandrunner = runners.CommandRunner(win_id) app = objreg.get('app') timer = usertypes.Timer(name='later', parent=app) try: timer.setSingleShot(True) try: timer.setInterval(ms) except OverflowError: raise cmdutils.CommandError("Numeric argument is too large for " "internal int representation.") timer.timeout.connect( functools.partial(commandrunner.run_safely, command)) timer.timeout.connect(timer.deleteLater) timer.start() except: timer.deleteLater() raise
def __init__(self, parent=None): super().__init__(parent) self.saveables = collections.OrderedDict() self._save_timer = usertypes.Timer(self, name='save-timer') self._save_timer.timeout.connect(self.autosave) self._set_autosave_interval() config.instance.changed.connect(self._set_autosave_interval)
def __init__(self, *, app, quitter, parent=None): super().__init__(parent) self._app = app self._quitter = quitter self._notifier = None self._timer = usertypes.Timer(self, 'python_hacks') self._orig_handlers = {} self._activated = False self._orig_wakeup_fd = None
def __init__(self, win_id, parent=None): super().__init__(parent) self.setTextFormat(Qt.RichText) self._win_id = win_id self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Minimum) self.hide() self._show_timer = usertypes.Timer(self, 'keyhint_show') self._show_timer.timeout.connect(self.show) self._show_timer.setSingleShot(True) config.set_register_stylesheet(self)
def __init__(self, reply, manager): """Constructor. Args: reply: The QNetworkReply to download. """ super().__init__(parent=manager) self.fileobj = None self.raw_headers = {} self._autoclose = True self._manager = manager self._retry_info = None self._reply = None self._buffer = io.BytesIO() self._read_timer = usertypes.Timer(self, name='download-read-timer') self._read_timer.setInterval(500) self._read_timer.timeout.connect(self._on_read_timer_timeout) self._redirects = 0 self._init_reply(reply)
def __init__(self, parent=None): super().__init__(parent) self.downloads = [] self._update_timer = usertypes.Timer(self, 'download-update') self._update_timer.timeout.connect(self._update_gui) self._update_timer.setInterval(_REFRESH_INTERVAL)
def test_timeout_set_interval(qtbot): """Make sure the timer works with setInterval().""" t = usertypes.Timer() with qtbot.waitSignal(t.timeout, timeout=3000): t.setInterval(200) t.start()
def test_start_overflow(): """Make sure start raises OverflowError with very big numbers.""" t = usertypes.Timer() with pytest.raises(OverflowError): t.start(2**64)
def test_set_interval_overflow(): """Make sure setInterval raises OverflowError with very big numbers.""" t = usertypes.Timer() with pytest.raises(OverflowError): t.setInterval(2**64)
def test_unnamed(): """Make sure an unnamed Timer is named correctly.""" t = usertypes.Timer() assert not t.objectName() assert t._name == 'unnamed' assert repr(t) == "<glimpsebrowser.utils.usertypes.Timer name='unnamed'>"
def test_named(): """Make sure the name is set correctly.""" t = usertypes.Timer(name='foobar') assert t._name == 'foobar' assert t.objectName() == 'foobar' assert repr(t) == "<glimpsebrowser.utils.usertypes.Timer name='foobar'>"
def test_parent(): """Make sure the parent is set correctly.""" parent = Parent() t = usertypes.Timer(parent) assert t.parent() is parent