PykeBot2 package

Subpackages

Submodules

PykeBot2.event_loop_master module

author

Jonathan Decker

async PykeBot2.event_loop_master.dump_que(queue: asyncio.queues.Queue)
Description

Coroutine to dump the contents of a Queue into the log and clear the Queue. Only used for debugging.

Parameters

queue (asyncio.Queue) – The queue to dump.

Returns

None

Return type

None

async PykeBot2.event_loop_master.query_forwarder(forward_queue: asyncio.queues.Queue, sub_module_queues: {<class 'str'>: <class 'asyncio.queues.Queue'>})
Description

Coroutine that manages the forward_queue and reads the forward_to field of incoming queries.

Based on the value of the field the query is submitted to the next Queue. :param forward_queue: The forward_queue that is awaited by this Coroutine. :type forward_queue: asyncio.Queue :param sub_module_queues: A dictionary that maps the short names of each sub module to its Queue. :type sub_module_queues: {str: asyncio.Queue} :return: None :rtype: None

PykeBot2.event_loop_master.run_main_loop()
Description

The main loop of the program. Uses asyncio event loop and ensures all main Coroutines.

Further all Queue objects are created here as they need to be present when starting the Coroutines. :return: None :rtype: None

async PykeBot2.event_loop_master.sample_worker(num: int)
Description

Example for coroutine functionality, does not do any meaningful work.

Parameters

num (int) – Number only used to track the worker in logs.

Returns

None

Return type

None

PykeBot2.gecko_manager module

Offers utility to open a firefox webdriver. Geckodriver should be in PATH for this.

author

Jonathan Decker

PykeBot2.gecko_manager.open_session(headless=True) selenium.webdriver.firefox.webdriver.WebDriver
Description

Opens a Selenium Firefox web session.

Attempts to find geckodriver from PATH, if it fails uses a static path. :param headless: Set whether the web session should be headless or not. :type headless: bool :return: A new firefox webdriver. :rtype: selenium.webdriver

PykeBot2.gecko_manager.quit_session(driver: <module 'selenium.webdriver' from '/home/docs/checkouts/readthedocs.org/user_builds/pykebot2/envs/latest/lib/python3.7/site-packages/selenium/webdriver/__init__.py'>)

PykeBot2.main module

Main file used to start PykeBot2.

author

Jonathan Decker

PykeBot2.main.start()

Module contents

Discord Bot for collecting information on league of legends players in tournaments.