docs(willexecutors.py): Add comprehensive documentation for methods

This commit is contained in:
2026-04-10 00:56:28 +00:00
parent 8de109c39d
commit 2abc99c38f

View File

@@ -40,12 +40,31 @@ class Willexecutors:
- Download and update executor lists from remote sources
"""
"""Save executive list to plugin settings.
Args:
bal_plugin: BAL plugin instance
willexecutors: Dictionary of executors by URL
"""
def save(bal_plugin, willexecutors):
_logger.debug(f"save {willexecutors},{chainname}")
aw = bal_plugin.WILLEXECUTORS.get()
aw[chainname] = willexecutors
bal_plugin.WILLEXECUTORS.set(aw)
_logger.debug(f"saved: {aw}")
"""
Retrieve and update executor list.
Args:
bal_plugin: BAL plugin instance
update: Ping servers for fresh data
bal_window: GUI window for prompts
force: Force update regardless of settings
task: Run as background task
Returns:
Sorted dict of executor configurations
"""
# bal_plugin.WILLEXECUTORS.set(willexecutors)
def get_willexecutors(
@@ -101,6 +120,16 @@ class Willexecutors:
def is_selected(willexecutor, value=None):
if not willexecutor:
"""
Check or set executor selection status.
Args:
willexecutor: Executor config dict
value: Selection value to set (optional)
Returns:
Boolean selection status
"""
return False
if value is not None:
willexecutor["selected"] = value
@@ -146,6 +175,22 @@ class Willexecutors:
# )
def send_request(
"""
Send HTTP request to executor server.
Args:
method: HTTP method (get/post)
url: Target URL
data: Request payload
timeout: Timeout in seconds
handle_response: Response handler function
count_reply: Retry counter
Returns:
Server response
Retries up to 10 times on timeout.
"""
method, url, data=None, *, timeout=10, handle_response=None, count_reply=0
):
network = Network.get_instance()
@@ -221,6 +266,18 @@ class Willexecutors:
pass
def push_transactions_to_willexecutor(willexecutor):
"""
Push timelocked transactions to executor.
Args:
willexecutor: Executor dict with url and txs
Returns:
True on success, False on failure
Raises:
AlreadyPresentException: If txs already exist
"""
out = True
try:
_logger.debug(f"{willexecutor['url']}: {willexecutor['txs']}")
@@ -251,6 +308,16 @@ class Willexecutors:
def get_info_task(url, willexecutor):
w = None
"""
Fetch executor info from server.
Args:
url: Server URL
willexecutor: Config dict to update
Returns:
Updated config with fee, address, status
"""
try:
_logger.info("GETINFO_WILLEXECUTOR")
_logger.debug(url)
@@ -286,6 +353,15 @@ class Willexecutors:
willexecutors = Willexecutors.send_request(
"get",
f"https://welist.bitcoin-after.life/data/{chainname}?page=0&limit=100",
"""
Download executor list from remote source.
Args:
old_willexecutors: Previous configs for merge
Returns:
Dictionary of executor configs
"""
)
# del willexecutors["status"]
for w in willexecutors: