|
1 |
| -# ruff: noqa: T201 |
| 1 | +import logging |
2 | 2 | import os
|
3 | 3 |
|
4 | 4 | from ..utils.slack.send_only import send_text
|
5 | 5 |
|
| 6 | +logger = logging.getLogger(__name__) |
6 | 7 |
|
7 |
| -def check_one_env(env_var): |
| 8 | + |
| 9 | +def check_one_env(env_var, secret=False, secret_show_first_n=0): |
8 | 10 | value = os.environ.get(env_var)
|
9 | 11 | if value is None:
|
10 |
| - print(f"🤢 Please set the environment variable {env_var}.") |
| 12 | + logger.error(f"😡 Please set the environment variable {env_var}.") |
11 | 13 | return False
|
12 |
| - print(f"✅ {env_var} is set to {value}") |
| 14 | + |
| 15 | + if secret: |
| 16 | + if secret_show_first_n > 0: |
| 17 | + logger.info( |
| 18 | + f"✅ {env_var} is set to {value[:secret_show_first_n]}{'*' * (len(value) - secret_show_first_n)}" |
| 19 | + ) |
| 20 | + else: |
| 21 | + logger.info(f"✅ {env_var} is set.") |
| 22 | + else: |
| 23 | + logger.info(f"✅ {env_var} is set to {value}") |
13 | 24 | return True
|
14 | 25 |
|
15 | 26 |
|
16 |
| -def check_many_env(env_vars): |
| 27 | +def check_many_env(env_vars, secret=False, secret_show_first_n=0): |
17 | 28 | ret = True
|
18 | 29 | for env_var in env_vars:
|
19 |
| - if not check_one_env(env_var): |
| 30 | + if not check_one_env(env_var, secret, secret_show_first_n): |
20 | 31 | ret = False
|
21 | 32 | return ret
|
22 | 33 |
|
23 | 34 |
|
24 | 35 | def check_env():
|
25 |
| - return check_many_env(["SLACK_BOT_TOKEN", "SLACK_APP_TOKEN", "SLACK_CHANNEL_ID"]) |
| 36 | + secrets_checked = check_many_env(["SLACK_BOT_TOKEN", "SLACK_APP_TOKEN"], True, 5) |
| 37 | + normal_checked = check_many_env(["SLACK_CHANNEL_ID"]) |
| 38 | + |
| 39 | + return secrets_checked and normal_checked |
26 | 40 |
|
27 | 41 |
|
28 | 42 | def check_send_text():
|
29 |
| - print("🚀 Sending a test message to the Slack channel...") |
| 43 | + logger.info("🚀 Sending a test message to the Slack channel...") |
30 | 44 | response = send_text("💪 Checking health of the Slack bot.")
|
31 | 45 |
|
32 | 46 | if response is None:
|
33 |
| - print("🤢 The response is None.") |
| 47 | + logger.error("😡 The response is None.") |
34 | 48 | return False
|
35 | 49 |
|
36 | 50 | if response["ok"]:
|
37 |
| - print("✅ The message was sent successfully.") |
| 51 | + logger.info("✅ The message was sent successfully.") |
38 | 52 | return True
|
39 | 53 |
|
40 |
| - print(f"🤢 The message was not sent successfully. Response: {response}") |
| 54 | + logger.error(f"😡 The message was not sent successfully. Response: {response}") |
41 | 55 | return False
|
0 commit comments