Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎨 fix type hints for optional method parameters #3234

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions aries_cloudagent/admin/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,8 @@ def __init__(
outbound_message_router: Coroutine,
webhook_router: Callable,
conductor_stop: Coroutine,
task_queue: TaskQueue = None,
conductor_stats: Coroutine = None,
task_queue: Optional[TaskQueue] = None,
conductor_stats: Optional[Coroutine] = None,
):
"""Initialize an AdminServer instance.

Expand Down Expand Up @@ -652,7 +652,9 @@ async def _on_record_event(self, profile: Profile, event: Event):
if webhook_topic:
await self.send_webhook(profile, webhook_topic, event.payload)

async def send_webhook(self, profile: Profile, topic: str, payload: dict = None):
async def send_webhook(
self, profile: Profile, topic: str, payload: Optional[dict] = None
):
"""Add a webhook to the queue, to send to all registered targets."""
wallet_id = profile.settings.get("wallet.id")
webhook_urls = profile.settings.get("admin.webhook_urls")
Expand Down
3 changes: 2 additions & 1 deletion aries_cloudagent/admin/tests/test_admin_server.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import gc
import json
from typing import Optional
from unittest import IsolatedAsyncioTestCase

import pytest
Expand Down Expand Up @@ -108,7 +109,7 @@ async def test_ready_middleware(self):
await test_module.ready_middleware(request, handler)

def get_admin_server(
self, settings: dict = None, context: InjectionContext = None
self, settings: Optional[dict] = None, context: Optional[InjectionContext] = None
) -> AdminServer:
if not context:
context = InjectionContext()
Expand Down
2 changes: 1 addition & 1 deletion aries_cloudagent/anoncreds/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def __init__(
self,
message: str,
obj_id: str,
obj: T = None,
obj: Optional[T] = None,
*args,
**kwargs,
):
Expand Down
8 changes: 4 additions & 4 deletions aries_cloudagent/anoncreds/default/legacy_indy/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -805,7 +805,7 @@ async def _revoc_reg_entry_with_fix(
rev_reg_def_type: str,
entry: dict,
write_ledger: bool,
endorser_did: str = None,
endorser_did: Optional[str] = None,
) -> dict:
"""Send a revocation registry entry to the ledger with fixes if needed."""
multitenant_mgr = profile.inject_or(BaseMultitenantManager)
Expand Down Expand Up @@ -1078,7 +1078,7 @@ async def fix_ledger_entry(
apply_ledger_update: bool,
genesis_transactions: str,
write_ledger: bool = True,
endorser_did: str = None,
endorser_did: Optional[str] = None,
) -> Tuple[dict, dict, dict]:
"""Fix the ledger entry to match wallet-recorded credentials."""

Expand Down Expand Up @@ -1209,8 +1209,8 @@ async def txn_submit(
self,
ledger: BaseLedger,
ledger_transaction: str,
sign: bool = None,
taa_accept: bool = None,
sign: Optional[bool] = None,
taa_accept: Optional[bool] = None,
sign_did: DIDInfo = sentinel,
write_ledger: bool = True,
) -> str:
Expand Down
29 changes: 16 additions & 13 deletions aries_cloudagent/anoncreds/holder.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,9 +178,9 @@ async def store_credential(
credential_definition: dict,
credential_data: dict,
credential_request_metadata: dict,
credential_attr_mime_types: dict = None,
credential_id: str = None,
rev_reg_def: dict = None,
credential_attr_mime_types: Optional[dict] = None,
credential_id: Optional[str] = None,
rev_reg_def: Optional[dict] = None,
) -> str:
"""Store a credential in the wallet.

Expand Down Expand Up @@ -226,9 +226,9 @@ async def _finish_store_credential(
credential_definition: dict,
cred_recvd: Credential,
credential_request_metadata: dict,
credential_attr_mime_types: dict = None,
credential_id: str = None,
rev_reg_def: dict = None,
credential_attr_mime_types: Optional[dict] = None,
credential_id: Optional[str] = None,
rev_reg_def: Optional[dict] = None,
) -> str:
credential_data = cred_recvd.to_dict()
schema_id = cred_recvd.schema_id
Expand Down Expand Up @@ -288,9 +288,9 @@ async def store_credential_w3c(
credential_definition: dict,
credential_data: dict,
credential_request_metadata: dict,
credential_attr_mime_types: dict = None,
credential_id: str = None,
rev_reg_def: dict = None,
credential_attr_mime_types: Optional[dict] = None,
credential_id: Optional[str] = None,
rev_reg_def: Optional[dict] = None,
) -> str:
"""Store a credential in the wallet.

Expand Down Expand Up @@ -515,7 +515,10 @@ async def _get_credential(self, credential_id: str) -> Credential:
raise AnonCredsHolderError("Error loading requested credential") from err

async def credential_revoked(
self, credential_id: str, timestamp_from: int = None, timestamp_to: int = None
self,
credential_id: str,
timestamp_from: Optional[int] = None,
timestamp_to: Optional[int] = None,
) -> bool:
"""Check ledger for revocation status of credential by credential id.

Expand Down Expand Up @@ -565,7 +568,7 @@ async def delete_credential(self, credential_id: str):
) from err # noqa: E501

async def get_mime_type(
self, credential_id: str, attr: str = None
self, credential_id: str, attr: Optional[str] = None
) -> Union[dict, str]:
"""Get MIME type per attribute (or for all attributes).

Expand Down Expand Up @@ -595,7 +598,7 @@ async def create_presentation(
requested_credentials: dict,
schemas: Dict[str, AnonCredsSchema],
credential_definitions: Dict[str, CredDef],
rev_states: dict = None,
rev_states: Optional[dict] = None,
) -> str:
"""Get credentials stored in the wallet.

Expand Down Expand Up @@ -686,7 +689,7 @@ async def create_presentation_w3c(
credentials_w3c_metadata: list,
schemas: Dict[str, AnonCredsSchema],
credential_definitions: Dict[str, CredDef],
rev_states: dict = None,
rev_states: Optional[dict] = None,
) -> dict:
"""Get credentials stored in the wallet.

Expand Down
3 changes: 2 additions & 1 deletion aries_cloudagent/anoncreds/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from os.path import isdir, join
from pathlib import Path
from platform import system
from typing import Optional

from aiohttp import web

Expand All @@ -16,7 +17,7 @@ async def generate_pr_nonce() -> str:
return str(int.from_bytes(urandom(10), "big"))


def indy_client_dir(subpath: str = None, create: bool = False) -> str:
def indy_client_dir(subpath: Optional[str] = None, create: bool = False) -> str:
"""Return '/'-terminated subdirectory of indy-client directory.

Args:
Expand Down
24 changes: 12 additions & 12 deletions aries_cloudagent/askar/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import asyncio
import logging
import time
from typing import Any, Mapping
from typing import Any, Mapping, Optional
from weakref import ref

from aries_askar import AskarError, Session, Store
Expand Down Expand Up @@ -37,14 +37,14 @@ class AskarProfile(Profile):
def __init__(
self,
opened: AskarOpenStore,
context: InjectionContext = None,
context: Optional[InjectionContext] = None,
*,
profile_id: str = None,
profile_id: Optional[str] = None,
):
"""Create a new AskarProfile instance."""
super().__init__(context=context, name=opened.name, created=opened.created)
self.opened = opened
self.ledger_pool: IndyVdrLedgerPool = None
self.ledger_pool: Optional[IndyVdrLedgerPool] = None
self.profile_id = profile_id
self.init_ledger_pool()
self.bind_providers()
Expand Down Expand Up @@ -178,11 +178,11 @@ def bind_providers(self):
),
)

def session(self, context: InjectionContext = None) -> ProfileSession:
def session(self, context: Optional[InjectionContext] = None) -> ProfileSession:
"""Start a new interactive session with no transaction support requested."""
return AskarProfileSession(self, False, context=context)

def transaction(self, context: InjectionContext = None) -> ProfileSession:
def transaction(self, context: Optional[InjectionContext] = None) -> ProfileSession:
"""Start a new interactive session with commit and rollback support.

If the current backend does not support transactions, then commit
Expand All @@ -205,7 +205,7 @@ def __init__(
profile: AskarProfile,
is_txn: bool,
*,
context: InjectionContext = None,
context: Optional[InjectionContext] = None,
settings: Mapping[str, Any] = None,
):
"""Create a new IndySdkProfileSession instance."""
Expand All @@ -215,9 +215,9 @@ def __init__(
else:
self._opener = self.profile.store.session(profile.profile_id)
self._profile = profile
self._handle: Session = None
self._acquire_start: float = None
self._acquire_end: float = None
self._handle: Optional[Session] = None
self._acquire_start: Optional[float] = None
self._acquire_end: Optional[float] = None

@property
def handle(self) -> Session:
Expand Down Expand Up @@ -288,7 +288,7 @@ async def _setup(self):
),
)

async def _teardown(self, commit: bool = None):
async def _teardown(self, commit: Optional[bool] = None):
"""Dispose of the session or transaction connection."""
if commit:
try:
Expand Down Expand Up @@ -338,6 +338,6 @@ async def open(
return AskarProfile(opened, context)

@classmethod
async def generate_store_key(self, seed: str = None) -> str:
async def generate_store_key(self, seed: Optional[str] = None) -> str:
"""Generate a raw store key."""
return Store.generate_raw_key(validate_seed(seed))
26 changes: 14 additions & 12 deletions aries_cloudagent/askar/profile_anon.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import asyncio
import logging
import time
from typing import Any, Mapping
from typing import Any, Mapping, Optional
from weakref import ref

from aries_askar import AskarError, Session, Store
Expand Down Expand Up @@ -39,14 +39,14 @@ class AskarAnoncredsProfile(Profile):
def __init__(
self,
opened: AskarOpenStore,
context: InjectionContext = None,
context: Optional[InjectionContext] = None,
*,
profile_id: str = None,
profile_id: Optional[str] = None,
):
"""Create a new AskarProfile instance."""
super().__init__(context=context, name=opened.name, created=opened.created)
self.opened = opened
self.ledger_pool: IndyVdrLedgerPool = None
self.ledger_pool: Optional[IndyVdrLedgerPool] = None
self.profile_id = profile_id
self.init_ledger_pool()
self.bind_providers()
Expand Down Expand Up @@ -159,12 +159,14 @@ def bind_providers(self):
BaseLedger, ClassProvider(IndyVdrLedger, self.ledger_pool, ref(self))
)

def session(self, context: InjectionContext = None) -> "AskarAnoncredsProfileSession":
def session(
self, context: Optional[InjectionContext] = None
) -> "AskarAnoncredsProfileSession":
"""Start a new interactive session with no transaction support requested."""
return AskarAnoncredsProfileSession(self, False, context=context)

def transaction(
self, context: InjectionContext = None
self, context: Optional[InjectionContext] = None
) -> "AskarAnoncredsProfileSession":
"""Start a new interactive session with commit and rollback support.

Expand All @@ -188,7 +190,7 @@ def __init__(
profile: AskarAnoncredsProfile,
is_txn: bool,
*,
context: InjectionContext = None,
context: Optional[InjectionContext] = None,
settings: Mapping[str, Any] = None,
):
"""Create a new AskarAnoncredsProfileSession instance."""
Expand All @@ -198,9 +200,9 @@ def __init__(
else:
self._opener = self.profile.store.session(profile.profile_id)
self._profile = profile
self._handle: Session = None
self._acquire_start: float = None
self._acquire_end: float = None
self._handle: Optional[Session] = None
self._acquire_start: Optional[float] = None
self._acquire_end: Optional[float] = None

@property
def handle(self) -> Session:
Expand Down Expand Up @@ -239,7 +241,7 @@ async def _setup(self):
ClassProvider("aries_cloudagent.storage.askar.AskarStorage", ref(self)),
)

async def _teardown(self, commit: bool = None):
async def _teardown(self, commit: Optional[bool] = None):
"""Dispose of the session or transaction connection."""
if commit:
try:
Expand Down Expand Up @@ -289,6 +291,6 @@ async def open(
return AskarAnoncredsProfile(opened, context)

@classmethod
async def generate_store_key(self, seed: str = None) -> str:
async def generate_store_key(self, seed: Optional[str] = None) -> str:
"""Generate a raw store key."""
return Store.generate_raw_key(validate_seed(seed))
3 changes: 2 additions & 1 deletion aries_cloudagent/askar/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import json
import logging
import urllib
from typing import Optional

from aries_askar import AskarError, AskarErrorCode, Store

Expand All @@ -24,7 +25,7 @@ class AskarStoreConfig:
KEY_DERIVATION_ARGON2I_INT = "kdf:argon2i:int"
KEY_DERIVATION_ARGON2I_MOD = "kdf:argon2i:mod"

def __init__(self, config: dict = None):
def __init__(self, config: Optional[dict] = None):
"""Initialize a `AskarWallet` instance.

Args:
Expand Down
2 changes: 1 addition & 1 deletion aries_cloudagent/cache/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class CacheKeyLock:
def __init__(self, cache: BaseCache, key: Text):
"""Initialize the key lock."""
self.cache = cache
self.exception: BaseException = None
self.exception: Optional[BaseException] = None
self.key = key
self.released = False
self._future: asyncio.Future = asyncio.get_event_loop().create_future()
Expand Down
6 changes: 4 additions & 2 deletions aries_cloudagent/cache/in_memory.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Basic in-memory cache implementation."""

import time
from typing import Any, Sequence, Text, Union
from typing import Any, Optional, Sequence, Text, Union

from .base import BaseCache

Expand Down Expand Up @@ -38,7 +38,9 @@ async def get(self, key: Text):
self._remove_expired_cache_items()
return self._cache.get(key)["value"] if self._cache.get(key) else None

async def set(self, keys: Union[Text, Sequence[Text]], value: Any, ttl: int = None):
async def set(
self, keys: Union[Text, Sequence[Text]], value: Any, ttl: Optional[int] = None
):
"""Add an item to the cache with an optional ttl.

Overwrites existing cache entries.
Expand Down
2 changes: 1 addition & 1 deletion aries_cloudagent/commands/upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class UpgradeError(BaseError):
class VersionUpgradeConfig:
"""Handle ACA-Py version upgrade config."""

def __init__(self, config_path: str = None):
def __init__(self, config_path: Optional[str] = None):
"""Initialize config for use during upgrade process."""
self.function_map_config = UPGRADE_EXISTING_RECORDS_FUNCTION_MAPPING
self.upgrade_configs = {}
Expand Down
Loading
Loading