Example #1
0
 def __init__(self, time_to_wait: float, output_queue=_Queue()):
     if time_to_wait <= 0:
         raise TypeError("time_to_wait must be greater than zero")
     self._time_to_wait = time_to_wait
     self._is_finished = False
     self._stop_q: _Queue = _Queue()
     self._output_q = output_queue
     self._select = _Select(self._stop_q)
     self._timer_thread = _Thread(
         target=self._timer, args=(self._output_q, self._time_to_wait), daemon=True
     )
     self._timer_thread.start()
Example #2
0
            def __init__(self, iterable: _typing.Iterable[_T_co]):
                self.__iter = iter(iterable)
                self.__queue = _Queue(maxsize=prefetch._maxsize)
                self.__finished = False

                self.__thread = self.thread_class()
                self.__thread.start()
Example #3
0
class Ticker:
    _alive = True
    _stop_q: _Queue = _Queue()

    def __init__(self, time_to_wait: float, output_queue=_Queue()):
        self._q = output_queue
        self.time_to_wait = time_to_wait
        self._thread = _Thread(target=self.__tick_looper, )
        self._thread.start()

    def __tick_looper(self) -> None:
        while True:
            try:
                exit = self._stop_q.get(timeout=self.time_to_wait)
                if exit:
                    break
            except _Empty:
                self._q.put(_time())

    def stop(self) -> None:
        self._stop_q.put(True)
        self._alive = False

    def is_stopped(self) -> bool:
        return not self._alive and self._thread.is_alive()

    def get(self) -> Any:
        return self._q.get()
 def __init__(self, use_deque=False) -> None:
     super().__init__()
     self._use_deque = use_deque
     if use_deque:
         self.__queue = deque()
     else:
         self.__queue = _Queue()
Example #5
0
 def __init__(self, *queues: _Queue, multicasted_queue: _Queue = _Queue()):
     self.__multicast_queue = multicasted_queue
     self._output_queues = queues
     self.is_stopped = False
     self._thread = _Thread(
         target=self._publisher_multicast,
         args=(self.__multicast_queue, *self._output_queues),
         daemon=True,
     )
     self._thread.start()
Example #6
0
 def __init__(
     self,
     *queues: _Queue,
 ):
     self.__multiplexed_queue: _Queue = _Queue(maxsize=0)
     self._input_queues = queues
     self._pipes: List[_Pipe] = [
         _Pipe(q_in, self.__multiplexed_queue)
         for q_in in self._input_queues
     ]
     self.is_stopped = False
Example #7
0
 def __init__(self, session, album_playlist, track_playlist, video_playlist,
              limit, diffDays):
     self.session = session
     self.album_playlist = album_playlist
     self.track_playlist = track_playlist
     self.video_playlist = video_playlist
     self.found_albums = []
     self.found_tracks = []
     self.found_videos = []
     self.artistQueue = _Queue(maxsize=99999)
     self.artistCount = 0
     self.searchLimit = limit
     self.diffDays = diffDays
     self.abortThreads = True
     self.runningThreads = {}
     self.progress = xbmcgui.DialogProgressBG()
Example #8
0
    def _iter_threaded(self) -> _typing.Iterator[int]:
        ftp = self
        queue = _Queue(maxsize=1)

        class DownloadThread(_Thread):
            def run(self) -> None:
                ftp.dump(queue.put)

        thread = DownloadThread(daemon=True)
        thread.start()

        while True:
            if not thread.is_alive() and queue.empty():
                return
            data = queue.get()
            yield from data
Example #9
0
 def create_queue(self):
     return _Queue()
Example #10
0
 def __init__(self):
     """Init method."""
     super().__init__(daemon=True)
     self._queue = _Queue()
     self._running = False
Example #11
0
 def _new_queue(self, key):
     self.queues[key] = _Queue()
Example #12
0
 def __init__(self, time_to_wait: float, output_queue=_Queue()):
     self._q = output_queue
     self.time_to_wait = time_to_wait
     self._thread = _Thread(target=self.__tick_looper, )
     self._thread.start()
Example #13
0
def _init_queue(split_text):
    queue = _Queue()
    first_window = _get_first_window(split_text)
    for word in first_window[1:]:
        queue.put(word)
    return queue