Skip to content

Commit

Permalink
Merge branch 'main' into task/fix-ruff
Browse files Browse the repository at this point in the history
  • Loading branch information
jzbahrai committed Sep 17, 2024
2 parents 661a1d3 + fb5eac2 commit bd29ddc
Show file tree
Hide file tree
Showing 58 changed files with 800 additions and 746 deletions.
10 changes: 7 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,14 @@
"[python]": {
"editor.formatOnSave": true
},
"python.formatting.blackPath": "/usr/local/bin/black",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.pylintPath": "/usr/local/bin/pylint",
"python.pythonPath": "/usr/local/bin/python"
},
"extensions": [
"tamasfe.even-better-toml",
"bungcip.better-toml",
"donjayamanne.python-extension-pack",
"eamodio.gitlens",
"GitHub.copilot",
Expand All @@ -37,8 +41,7 @@
"visualstudioexptteam.vscodeintellicode",
"wenfangdu.jump",
"wholroyd.jinja",
"yzhang.markdown-all-in-one",
"charliermarsh.ruff"
"yzhang.markdown-all-in-one"
]
}
},
Expand All @@ -58,4 +61,5 @@
},
"postCreateCommand": "notify-dev-entrypoint.sh",
"remoteUser": "vscode",

}
2 changes: 1 addition & 1 deletion .devcontainer/scripts/notify-dev-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ cd /workspace
echo -e "fpath+=/.zfunc" >> ~/.zshrc
echo -e "autoload -Uz compinit && compinit"

pip install poetry==${POETRY_VERSION} poetry-plugin-sort
pip install poetry==${POETRY_VERSION}
export PATH=$PATH:/home/vscode/.local/bin/
which poetry
poetry --version
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/backstage-catalog-helper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ jobs:
app_id: ${{ secrets.SRE_BOT_RW_APP_ID }}
private_key: ${{ secrets.SRE_BOT_RW_PRIVATE_KEY }}
- name: Create pull request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.generate_token.outputs.token}}
sign-commits: true
commit-message: 'Add catalog-info.yaml'
branch: 'backstage/catalog-info'
title: 'Add catalog-info.yaml'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Install poetry
env:
POETRY_VERSION: "1.7.1"
run: pip install poetry==${POETRY_VERSION} poetry-plugin-sort && poetry --version
run: pip install poetry==${POETRY_VERSION} && poetry --version
- name: Check poetry.lock aligns with pyproject.toml
run: poetry check --lock
- name: Install requirements
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,5 +91,3 @@ jinja_templates/
cypress.env.json
node_modules/
tests_cypress/cypress/videos/

.ruff_cache/
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ clean:

.PHONY: format
format:
ruff check --select I --fix .
ruff check
ruff format .
poetry run isort .
poetry run black --config pyproject.toml .
poetry run flake8 .
poetry run mypy .

.PHONY: smoke-test
Expand Down
6 changes: 3 additions & 3 deletions app/celery/scheduled_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,9 +215,9 @@ def replay_created_notifications():

if len(notifications_to_resend) > 0:
current_app.logger.info(
"Sending {} {} notifications " "to the delivery queue because the notification " "status was created.".format(
len(notifications_to_resend), notification_type
)
"Sending {} {} notifications "
"to the delivery queue because the notification "
"status was created.".format(len(notifications_to_resend), notification_type)
)

for n in notifications_to_resend:
Expand Down
4 changes: 3 additions & 1 deletion app/celery/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,9 @@ def send_inbound_sms_to_service(self, inbound_sms_id, service_id):
except self.MaxRetriesExceededError:
current_app.logger.error(
"""Retry: send_inbound_sms_to_service has retried the max number of
times for service: {} and inbound_sms {}""".format(service_id, inbound_sms_id)
times for service: {} and inbound_sms {}""".format(
service_id, inbound_sms_id
)
)


Expand Down
1 change: 1 addition & 0 deletions app/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,7 @@ class Config(object):
}
CELERY_QUEUES: List[Any] = []
CELERY_DELIVER_SMS_RATE_LIMIT = os.getenv("CELERY_DELIVER_SMS_RATE_LIMIT", "1/s")
AWS_SEND_SMS_BOTO_CALL_LATENCY = os.getenv("AWS_SEND_SMS_BOTO_CALL_LATENCY", 0.06) # average delay in production

CONTACT_FORM_EMAIL_ADDRESS = os.getenv("CONTACT_FORM_EMAIL_ADDRESS", "helpdesk@cds-snc.ca")

Expand Down
10 changes: 7 additions & 3 deletions app/delivery/send_to_providers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os
import re
from datetime import datetime
from time import sleep
from typing import Any, Dict, Optional
from uuid import UUID

Expand Down Expand Up @@ -99,13 +100,16 @@ def send_sms_to_provider(notification):

elif (
validate_and_format_phone_number(notification.to, international=notification.international)
== Config.INTERNAL_TEST_NUMBER
== current_app.config["INTERNAL_TEST_NUMBER"]
):
current_app.logger.info(f"notification {notification.id} sending to internal test number. Not sending to AWS")
current_app.logger.info(f"notification {notification.id} sending to internal test number. Not sending to AWS.")
notification.reference = send_sms_response(provider.get_name(), notification.to)
notification.billable_units = template.fragment_count
update_notification_to_sending(notification, provider)

current_app.logger.info(
f"Sleeping {current_app.config['AWS_SEND_SMS_BOTO_CALL_LATENCY']} seconds to simulate AWS boto call latency."
)
sleep(current_app.config["AWS_SEND_SMS_BOTO_CALL_LATENCY"]) # simulate boto3 client send_sms() delay
else:
try:
template_category_id = template_dict.get("template_category_id")
Expand Down
2 changes: 1 addition & 1 deletion app/encryption.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def init_app(self, app: Any, secret_key: str | List[str], salt: str) -> None:
salt (str): The salt to use for signing.
"""
self.app = app
self.secret_key = cast(List[str], [secret_key] if isinstance(secret_key, str) else secret_key)
self.secret_key = cast(List[str], [secret_key] if type(secret_key) is str else secret_key)
self.serializer = URLSafeSerializer(secret_key)
self.salt = salt

Expand Down
4 changes: 2 additions & 2 deletions app/service/callback_rest.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ def handle_sql_error(e, table_name):
and hasattr(e.orig, "pgerror")
and e.orig.pgerror
and (
'insert or update on table "{0}" violates ' 'foreign key constraint "{0}_service_id_fkey"'.format(table_name)
in e.orig.pgerror
'insert or update on table "{0}" violates '
'foreign key constraint "{0}_service_id_fkey"'.format(table_name) in e.orig.pgerror
)
):
return jsonify(result="error", message="No result found"), 404
Expand Down
4 changes: 3 additions & 1 deletion app/v2/notifications/post_notifications.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
email_normal_publish,
email_priority_publish,
notify_celery,
redis_store,
signer_notification,
sms_bulk_publish,
sms_normal_publish,
Expand Down Expand Up @@ -61,6 +62,7 @@
Notification,
NotificationType,
Service,
TemplateType,
)
from app.notifications.process_letter_notifications import create_letter_notification
from app.notifications.process_notifications import (
Expand Down Expand Up @@ -659,7 +661,7 @@ def get_reply_to_text(notification_type, form, template, form_field=None):


def strip_keys_from_personalisation_if_send_attach(personalisation):
return {k: v for (k, v) in personalisation.items() if not (isinstance(v, dict) and v.get("sending_method") == "attach")}
return {k: v for (k, v) in personalisation.items() if not (type(v) is dict and v.get("sending_method") == "attach")}


def check_for_csv_errors(recipient_csv, max_rows, remaining_messages):
Expand Down
Loading

0 comments on commit bd29ddc

Please sign in to comment.