Skip to content

Commit e8535f0

Browse files
committed
Switch to Ruff for Python linting and formatting. (#898)
* Remove old linting code. Add Terraform to tool versions file for asdf / mise users. * Update quality checks pipeline. * Update dist included files. * Remove unnecessary pipeline step and template. * Reinstate .terraform-version while we're still using APIM pipelines. * Switch to Ruff for Python linting and formatting. * Auto apply safe fixes on commit. * Attempt to fix first-party import detection. * Revert failed attempt. Specify target Python version and apply automatic fixes.
1 parent 0f9d95f commit e8535f0

File tree

248 files changed

+951
-1171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

248 files changed

+951
-1171
lines changed

backend/src/authorisation/authoriser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import json
44

55
from authorisation.api_operation_code import ApiOperationCode
6-
from clients import redis_client, logger
6+
from clients import logger, redis_client
77
from constants import SUPPLIER_PERMISSIONS_HASH_KEY
88

99

backend/src/base_utils/base_utils.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
"""Utils for backend src code"""
22

33
from models.field_locations import FieldLocations
4-
54
from models.obtain_field_value import ObtainFieldValue
65

7-
86
FIELD_LOCATIONS = FieldLocations()
97

108

backend/src/create_imms_handler.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
import pprint
44
import uuid
55

6-
6+
from constants import GENERIC_SERVER_ERROR_DIAGNOSTICS_MESSAGE
77
from fhir_controller import FhirController, make_controller
88
from local_lambda import load_string
9-
from models.errors import Severity, Code, create_operation_outcome
109
from log_structure import function_info
11-
from constants import GENERIC_SERVER_ERROR_DIAGNOSTICS_MESSAGE
10+
from models.errors import Code, Severity, create_operation_outcome
1211

1312
logging.basicConfig(level="INFO")
1413
logger = logging.getLogger()

backend/src/delete_imms_handler.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
import pprint
44
import uuid
55

6-
6+
from constants import GENERIC_SERVER_ERROR_DIAGNOSTICS_MESSAGE
77
from fhir_controller import FhirController, make_controller
8-
from models.errors import Severity, Code, create_operation_outcome
98
from log_structure import function_info
10-
from constants import GENERIC_SERVER_ERROR_DIAGNOSTICS_MESSAGE
9+
from models.errors import Code, Severity, create_operation_outcome
1110

1211
logging.basicConfig(level="INFO")
1312
logger = logging.getLogger()

backend/src/fhir_batch_controller.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Function to send the request directly to lambda (or return appropriate diagnostics if this is not possible)"""
22

3-
from fhir_batch_service import ImmunizationBatchService
43
from fhir_batch_repository import ImmunizationBatchRepository
4+
from fhir_batch_service import ImmunizationBatchService
55

66

77
def make_batch_controller():

backend/src/fhir_batch_repository.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import os
2+
import time
23
import uuid
4+
from dataclasses import dataclass
5+
36
import boto3
4-
import time
7+
import botocore.exceptions
58
import simplejson as json
9+
from boto3.dynamodb.conditions import Attr, Key
610
from clients import logger
7-
from dataclasses import dataclass
8-
import botocore.exceptions
9-
from boto3.dynamodb.conditions import Key, Attr
10-
from models.errors import UnhandledResponseError, IdentifierDuplicationError, ResourceNotFoundError, ResourceFoundError
11+
from models.errors import IdentifierDuplicationError, ResourceFoundError, ResourceNotFoundError, UnhandledResponseError
1112

1213

1314
def create_table(region_name="eu-west-2"):

backend/src/fhir_batch_service.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
from pydantic import ValidationError
21
from fhir_batch_repository import ImmunizationBatchRepository
3-
from models.errors import CustomValidationError
2+
from models.errors import CustomValidationError, MandatoryError
43
from models.fhir_immunization import ImmunizationValidator
5-
from models.errors import MandatoryError
4+
from pydantic import ValidationError
65

76

87
class ImmunizationBatchService:

backend/src/fhir_controller.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@
22
import json
33
import os
44
import re
5+
import urllib.parse
56
import uuid
67
from decimal import Decimal
78
from typing import Optional
9+
810
from aws_lambda_typing.events import APIGatewayProxyEventV1
9-
from fhir.resources.R4B.immunization import Immunization
1011
from boto3 import client as boto3_client
11-
12+
from fhir.resources.R4B.immunization import Immunization
1213
from fhir_repository import ImmunizationRepository, create_table
1314
from fhir_service import FhirService, UpdateOutcome, get_service_url
1415
from models.errors import (
15-
Severity,
1616
Code,
17-
create_operation_outcome,
18-
UnauthorizedError,
19-
ResourceNotFoundError,
20-
UnhandledResponseError,
21-
ValidationError,
2217
IdentifierDuplicationError,
2318
ParameterException,
19+
ResourceNotFoundError,
20+
Severity,
21+
UnauthorizedError,
2422
UnauthorizedVaxError,
23+
UnhandledResponseError,
24+
ValidationError,
25+
create_operation_outcome,
2526
)
2627
from models.utils.generic_utils import check_keys_in_sources
27-
from parameter_parser import process_params, process_search_params, create_query_string
28-
import urllib.parse
28+
from parameter_parser import create_query_string, process_params, process_search_params
2929

3030
sqs_client = boto3_client("sqs", region_name="eu-west-2")
3131
queue_url = os.getenv("SQS_QUEUE_URL", "Queue_url")

backend/src/fhir_repository.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,17 @@
99
import simplejson as json
1010
from boto3.dynamodb.conditions import Attr, Key
1111
from botocore.config import Config
12-
from mypy_boto3_dynamodb.service_resource import DynamoDBServiceResource, Table
13-
from responses import logger
14-
1512
from models.errors import (
13+
IdentifierDuplicationError,
1614
ResourceNotFoundError,
1715
UnhandledResponseError,
18-
IdentifierDuplicationError,
1916
)
2017
from models.utils.validation_utils import (
21-
get_vaccine_type,
2218
check_identifier_system_value,
19+
get_vaccine_type,
2320
)
21+
from mypy_boto3_dynamodb.service_resource import DynamoDBServiceResource, Table
22+
from responses import logger
2423

2524

2625
def create_table(table_name=None, endpoint_url=None, region_name="eu-west-2"):

backend/src/fhir_service.py

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
1-
import logging
2-
from uuid import uuid4
31
import datetime
2+
import logging
43
import os
54
from enum import Enum
65
from typing import Optional, Union
6+
from uuid import uuid4
77

8+
import parameter_parser
9+
from authorisation.api_operation_code import ApiOperationCode
10+
from authorisation.authoriser import Authoriser
811
from fhir.resources.R4B.bundle import (
912
Bundle as FhirBundle,
13+
)
14+
from fhir.resources.R4B.bundle import (
1015
BundleEntry,
11-
BundleLink,
1216
BundleEntrySearch,
17+
BundleLink,
1318
)
1419
from fhir.resources.R4B.immunization import Immunization
15-
from pydantic import ValidationError
16-
17-
import parameter_parser
18-
from authorisation.api_operation_code import ApiOperationCode
19-
from authorisation.authoriser import Authoriser
2020
from fhir_repository import ImmunizationRepository
21-
from models.errors import InvalidPatientId, CustomValidationError, UnauthorizedVaxError, ResourceNotFoundError
21+
from filter import Filter
22+
from models.errors import (
23+
CustomValidationError,
24+
InvalidPatientId,
25+
MandatoryError,
26+
ResourceNotFoundError,
27+
UnauthorizedVaxError,
28+
)
2229
from models.fhir_immunization import ImmunizationValidator
2330
from models.utils.generic_utils import (
24-
nhs_number_mod11_check,
25-
get_occurrence_datetime,
2631
create_diagnostics,
2732
form_json,
2833
get_contained_patient,
34+
get_occurrence_datetime,
35+
nhs_number_mod11_check,
2936
)
30-
from models.errors import MandatoryError
3137
from models.utils.validation_utils import get_vaccine_type
38+
from pydantic import ValidationError
3239
from timer import timed
33-
from filter import Filter
3440

3541
logging.basicConfig(level="INFO")
3642
logger = logging.getLogger()
@@ -39,7 +45,6 @@
3945
def get_service_url(
4046
service_env: str = os.getenv("IMMUNIZATION_ENV"), service_base_path: str = os.getenv("IMMUNIZATION_BASE_PATH")
4147
) -> str:
42-
4348
if not service_base_path:
4449
service_base_path = "immunisation-fhir-api/FHIR/R4"
4550

0 commit comments

Comments
 (0)