From c6ac30d4ccc26553a12e8c37cdf9078cbe9084b3 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Mon, 10 Jul 2023 11:36:47 +0300 Subject: Fix linting errors caused by bump to Python 3.10 --- gn3/api/search.py | 5 +++-- gn3/auth/authentication/oauth2/endpoints/introspection.py | 4 ++-- gn3/auth/authentication/oauth2/endpoints/utilities.py | 4 +++- gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py | 2 +- gn3/auth/authentication/oauth2/models/oauth2token.py | 4 +++- gn3/auth/db.py | 8 -------- gn3/computations/partial_correlations.py | 7 +++---- gn3/db/case_attributes.py | 3 ++- gn3/db_utils.py | 1 - 9 files changed, 17 insertions(+), 21 deletions(-) (limited to 'gn3') diff --git a/gn3/api/search.py b/gn3/api/search.py index aa844ee..ada845d 100644 --- a/gn3/api/search.py +++ b/gn3/api/search.py @@ -147,12 +147,14 @@ def parse_position(spec: str) -> tuple[Maybe[int], Maybe[int]]: point = apply_si_suffix(spec) return Just(max(0, point - width)), Just(point + width) +def to_megabases(val): + """Convert `val` to megabases.""" + return str(Decimal(val)/10**6) def parse_position_field(location_slot: int, query: bytes) -> xapian.Query: """Parse position and return a xapian query.""" start, end = parse_position(query.decode("utf-8")) # TODO: Convert the xapian index to use bases instead of megabases. - to_megabases = lambda x: str(Decimal(x)/10**6) return (xapian.NumberRangeProcessor(location_slot) (start.maybe("", to_megabases), end.maybe("", to_megabases))) # type: ignore @@ -176,7 +178,6 @@ def parse_location_field(species_query: xapian.Query, def make_query(interval: ChromosomalInterval) -> xapian.Query: # TODO: Convert the xapian index to use bases instead of megabases. - to_megabases = lambda x: str(Decimal(x)/10**6) return combine_queries(xapian.Query.OP_AND, species_query, xapian.Query(chromosome_prefix + interval.chromosome), diff --git a/gn3/auth/authentication/oauth2/endpoints/introspection.py b/gn3/auth/authentication/oauth2/endpoints/introspection.py index a567363..29ade6a 100644 --- a/gn3/auth/authentication/oauth2/endpoints/introspection.py +++ b/gn3/auth/authentication/oauth2/endpoints/introspection.py @@ -24,7 +24,7 @@ class IntrospectionEndpoint(_IntrospectionEndpoint): """Query the token.""" return _query_token(self, token_string, token_type_hint) - def introspect_token(self, token: OAuth2Token) -> dict:# pylint: disable=[no-self-use] + def introspect_token(self, token: OAuth2Token) -> dict: """Return the introspection information.""" url = urlparse(flask_request.url) return { @@ -43,6 +43,6 @@ class IntrospectionEndpoint(_IntrospectionEndpoint): "jti": token.token_id } - def check_permission(self, token, client, request):# pylint: disable=[unused-argument, no-self-use] + def check_permission(self, token, client, request):# pylint: disable=[unused-argument] """Check that the client has permission to introspect token.""" return client.client_type == "internal" diff --git a/gn3/auth/authentication/oauth2/endpoints/utilities.py b/gn3/auth/authentication/oauth2/endpoints/utilities.py index 299f151..b85940d 100644 --- a/gn3/auth/authentication/oauth2/endpoints/utilities.py +++ b/gn3/auth/authentication/oauth2/endpoints/utilities.py @@ -12,7 +12,9 @@ def query_token(# pylint: disable=[unused-argument] endpoint_object: Any, token_str: str, token_type_hint) -> Optional[ OAuth2Token]: """Retrieve the token from the database.""" - __identity__ = lambda val: val + def __identity__(val): + """Identity function.""" + return val token = Nothing with db.connection(current_app.config["AUTH_DB"]) as conn: if token_type_hint == "access_token": diff --git a/gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py b/gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py index f80d02e..fb8d436 100644 --- a/gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py +++ b/gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py @@ -41,7 +41,7 @@ class AuthorisationCodeGrant(grants.AuthorizationCodeGrant): """Retrieve the code from the database.""" return __query_authorization_code__(code, client) - def delete_authorization_code(self, authorization_code):# pylint: disable=[no-self-use] + def delete_authorization_code(self, authorization_code): """Delete the authorisation code.""" with db.connection(app.config["AUTH_DB"]) as conn: with db.cursor(conn) as cursor: diff --git a/gn3/auth/authentication/oauth2/models/oauth2token.py b/gn3/auth/authentication/oauth2/models/oauth2token.py index 72e20cc..981e730 100644 --- a/gn3/auth/authentication/oauth2/models/oauth2token.py +++ b/gn3/auth/authentication/oauth2/models/oauth2token.py @@ -51,7 +51,9 @@ class OAuth2Token(NamedTuple): return self.revoked def __token_from_resultset__(conn: db.DbConnection, rset) -> Maybe: - __identity__ = lambda val: val + def __identity__(val): + """Identity function.""" + return val try: the_user = user_by_id(conn, uuid.UUID(rset["user_id"])) except NotFoundError as _nfe: diff --git a/gn3/auth/db.py b/gn3/auth/db.py index 2ba6619..97f3982 100644 --- a/gn3/auth/db.py +++ b/gn3/auth/db.py @@ -10,40 +10,32 @@ class DbConnection(Protocol): """Type annotation for a generic database connection object.""" def cursor(self) -> Any: """A cursor object""" - ... def commit(self) -> Any: """Commit the transaction.""" - ... def rollback(self) -> Any: """Rollback the transaction.""" - ... class DbCursor(Protocol): """Type annotation for a generic database cursor object.""" def execute(self, *args, **kwargs) -> Any: """Execute a single query""" - ... def executemany(self, *args, **kwargs) -> Any: """ Execute parameterized SQL statement sql against all parameter sequences or mappings found in the sequence parameters. """ - ... def fetchone(self, *args, **kwargs): """Fetch single result if present, or `None`.""" - ... def fetchmany(self, *args, **kwargs): """Fetch many results if present or `None`.""" - ... def fetchall(self, *args, **kwargs): """Fetch all results if present or `None`.""" - ... @contextlib.contextmanager def connection(db_path: str, row_factory: Callable = sqlite3.Row) -> Iterator[DbConnection]: diff --git a/gn3/computations/partial_correlations.py b/gn3/computations/partial_correlations.py index 9f02ad2..192ad7f 100644 --- a/gn3/computations/partial_correlations.py +++ b/gn3/computations/partial_correlations.py @@ -421,9 +421,8 @@ def literature_correlation_by_list( `web.webqtl.correlation.CorrelationPage.getLiteratureCorrelationByList` function in GeneNetwork1. """ - if any((lambda t: ( - bool(t.get("tissue_corr")) and - bool(t.get("tissue_p_value"))))(trait) + if any((bool(trait.get("tissue_corr")) and + bool(trait.get("tissue_p_value"))) for trait in trait_list): temporary_table_name = f"LITERATURE{random_string(8)}" query1 = ( @@ -491,7 +490,7 @@ def tissue_correlation_by_list( "tissue_p_value": result["p-val"] } - if any((lambda t: bool(t.get("l_corr")))(trait) for trait in trait_list): + if any(bool((trait)) for trait in trait_list): prim_trait_symbol_value_dict = fetch_gene_symbol_tissue_value_dict_for_trait( (primary_trait_symbol,), tissue_probeset_freeze_id, conn) if primary_trait_symbol.lower() in prim_trait_symbol_value_dict: diff --git a/gn3/db/case_attributes.py b/gn3/db/case_attributes.py index 1d82f00..0794c0b 100644 --- a/gn3/db/case_attributes.py +++ b/gn3/db/case_attributes.py @@ -90,7 +90,8 @@ def approve_case_attribute(conn: Any, case_attr_audit_id: int) -> int: elif diff_data.get("Deletion"): data = diff_data.get("Deletion") cursor.execute( - "DELETE FROM CaseAttribute " "WHERE Id = %s", + "DELETE FROM CaseAttribute " + "WHERE Id = %s", (data.get("id"),), ) # Modification diff --git a/gn3/db_utils.py b/gn3/db_utils.py index 7d6a445..8bf7be7 100644 --- a/gn3/db_utils.py +++ b/gn3/db_utils.py @@ -21,7 +21,6 @@ class Connection(Protocol): """Type Annotation for MySQLdb's connection object""" def cursor(self, *args) -> Any: """A cursor in which queries may be performed""" - ... @contextlib.contextmanager -- cgit v1.2.3