From 2a1a0f3a2f4946ed08e63fe07cab9dfb4aedac69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Tue, 4 Apr 2023 07:49:13 +0200 Subject: [PATCH] fix pyright issues --- lnbits/bolt11.py | 3 +- lnbits/core/crud.py | 2 +- lnbits/extension_manager.py | 79 ------------------------------------- lnbits/wallets/lndrest.py | 1 + 4 files changed, 4 insertions(+), 81 deletions(-) diff --git a/lnbits/bolt11.py b/lnbits/bolt11.py index 7f91d01a6..84bf61e7a 100644 --- a/lnbits/bolt11.py +++ b/lnbits/bolt11.py @@ -265,7 +265,8 @@ class LnAddr: self.amount = amount def __str__(self): - pubkey = bytes.hex(self.pubkey.serialize()).decode() + assert self.pubkey, "LnAddr, pubkey must be set" + pubkey = bytes.hex(self.pubkey.serialize()) tags = ", ".join([f"{k}={v}" for k, v in self.tags]) return f"LnAddr[{pubkey}, amount={self.amount}{self.currency} tags=[{tags}]]" diff --git a/lnbits/core/crud.py b/lnbits/core/crud.py index e51b74037..b234b5d41 100644 --- a/lnbits/core/crud.py +++ b/lnbits/core/crud.py @@ -396,7 +396,7 @@ async def get_payments( clause.append("checking_id NOT LIKE 'internal_%'") if not filters: - filters = Filters() + filters = Filters(limit=None, offset=None) rows = await (conn or db).fetchall( f""" diff --git a/lnbits/extension_manager.py b/lnbits/extension_manager.py index 307cfb513..019cb9a75 100644 --- a/lnbits/extension_manager.py +++ b/lnbits/extension_manager.py @@ -532,82 +532,3 @@ def get_valid_extensions() -> List[Extension]: return [ extension for extension in ExtensionManager().extensions if extension.is_valid ] - - -def download_url(url, save_path): - with urllib.request.urlopen(url) as dl_file: - with open(save_path, "wb") as out_file: - out_file.write(dl_file.read()) - - -def file_hash(filename): - h = hashlib.sha256() - b = bytearray(128 * 1024) - mv = memoryview(b) - with open(filename, "rb", buffering=0) as f: - while n := f.readinto(mv): - h.update(mv[:n]) - return h.hexdigest() - - -def icon_to_github_url(source_repo: str, path: Optional[str]) -> str: - if not path: - return "" - _, _, *rest = path.split("/") - tail = "/".join(rest) - return f"https://github.com/{source_repo}/raw/main/{tail}" - - -async def fetch_github_repo_info( - org: str, repository: str -) -> Tuple[GitHubRepo, GitHubRepoRelease, ExtensionConfig]: - repo_url = f"https://api.github.com/repos/{org}/{repository}" - error_msg = "Cannot fetch extension repo" - repo = await gihub_api_get(repo_url, error_msg) - github_repo = GitHubRepo.parse_obj(repo) - - lates_release_url = ( - f"https://api.github.com/repos/{org}/{repository}/releases/latest" - ) - error_msg = "Cannot fetch extension releases" - latest_release: Any = await gihub_api_get(lates_release_url, error_msg) - - config_url = f"https://raw.githubusercontent.com/{org}/{repository}/{github_repo.default_branch}/config.json" - error_msg = "Cannot fetch config for extension" - config = await gihub_api_get(config_url, error_msg) - - return ( - github_repo, - GitHubRepoRelease.parse_obj(latest_release), - ExtensionConfig.parse_obj(config), - ) - - -async def fetch_manifest(url) -> Manifest: - error_msg = "Cannot fetch extensions manifest" - manifest = await gihub_api_get(url, error_msg) - return Manifest.parse_obj(manifest) - - -async def fetch_github_releases(org: str, repo: str) -> List[GitHubRepoRelease]: - releases_url = f"https://api.github.com/repos/{org}/{repo}/releases" - error_msg = "Cannot fetch extension releases" - releases = await gihub_api_get(releases_url, error_msg) - return [GitHubRepoRelease.parse_obj(r) for r in releases] - - -async def gihub_api_get(url: str, error_msg: Optional[str]) -> Any: - async with httpx.AsyncClient() as client: - headers = ( - {"Authorization": f"Bearer {settings.lnbits_ext_github_token}"} - if settings.lnbits_ext_github_token - else None - ) - resp = await client.get( - url, - headers=headers, - ) - if resp.status_code != 200: - logger.warning(f"{error_msg} ({url}): {resp.text}") - resp.raise_for_status() - return resp.json() diff --git a/lnbits/wallets/lndrest.py b/lnbits/wallets/lndrest.py index 44c86850a..5d181b346 100644 --- a/lnbits/wallets/lndrest.py +++ b/lnbits/wallets/lndrest.py @@ -24,6 +24,7 @@ class LndRestWallet(Wallet): def __init__(self): endpoint = settings.lnd_rest_endpoint + assert endpoint, "lnd_rest_endpoint not set" endpoint = endpoint[:-1] if endpoint.endswith("/") else endpoint endpoint = ( f"https://{endpoint}" if not endpoint.startswith("http") else endpoint