Commit bef96d26 authored by Paul McCarthy's avatar Paul McCarthy 🚵
Browse files

Merge branch 'v1.0' into 'v1.0'

Version 1.0.3

See merge request !25
parents e878aaac ceb6f081
Pipeline #736 passed with stages
in 2 minutes and 17 seconds
......@@ -320,6 +320,7 @@ build-doc:
- python setup.py doc
- mv doc/html doc/"$CI_COMMIT_REF_NAME"
artifacts:
expire_in: 1 day
paths:
- doc/$CI_COMMIT_REF_NAME
......@@ -345,6 +346,7 @@ build-dist:
- python setup.py bdist_wheel
artifacts:
expire_in: 1 day
paths:
- dist/*
......
......@@ -77,13 +77,11 @@ Other facilities
The ``async`` module also defines the :func:`mutex` decorator, which is
intended to be used to mark the methods of a class as being mutually exclusive.
The ``mutex`` decorator uses the :class:`MutexFactory` class to do its work.
.. todo:: You could possibly use ``props.callqueue`` to drive the idle loop.
"""
import time
import atexit
import logging
import functools
import threading
......@@ -213,6 +211,9 @@ def idleReset():
global _idleTimer
global _idleCallRate
if _idleTimer is not None:
_idleTimer.Stop()
_idleRegistered = False
_idleQueue = queue.Queue()
_idleQueueDict = {}
......@@ -220,6 +221,11 @@ def idleReset():
_idleCallRate = 200
# Call idleReset on exit, in
# case the idleTimer is active.
atexit.register(idleReset)
def getIdleTimeout():
"""Returns the current ``wx`` idle loop time out/call rate.
"""
......@@ -306,7 +312,7 @@ def _wxIdleLoop(ev):
if taskName is None: taskName = funcName
else: taskName = '{} [{}]'.format(taskName, funcName)
# Has enouggh time elapsed
# Has enough time elapsed
# since the task was scheduled?
# If not, re-queue the task.
# If this is the only task on the
......@@ -333,8 +339,15 @@ def _wxIdleLoop(ev):
try: _idleQueueDict.pop(task.name)
except KeyError: pass
# More tasks on the queue?
# Request anotherd event
if _idleQueue.qsize() > queueSizeOffset:
ev.RequestMore()
# Otherwise use the idle
# timer to make sure that
# the loop keeps ticking
# over
else:
_idleTimer.Start(_idleCallRate, wx.TIMER_ONE_SHOT)
......
......@@ -41,7 +41,7 @@ import re
import string
__version__ = '1.0.2'
__version__ = '1.0.3'
"""Current version number, as a string. """
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment