Beispiel #1
0
    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")
Beispiel #2
0
 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)
Beispiel #3
0
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)
Beispiel #5
0
 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
Beispiel #6
0
 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)
Beispiel #8
0
 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)
Beispiel #9
0
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()
Beispiel #10
0
def test_start_overflow():
    """Make sure start raises OverflowError with very big numbers."""
    t = usertypes.Timer()
    with pytest.raises(OverflowError):
        t.start(2**64)
Beispiel #11
0
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)
Beispiel #12
0
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'>"
Beispiel #13
0
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'>"
Beispiel #14
0
def test_parent():
    """Make sure the parent is set correctly."""
    parent = Parent()
    t = usertypes.Timer(parent)
    assert t.parent() is parent