firefighter-incident 0.0.23__py3-none-any.whl → 0.0.25__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
firefighter/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.23'
32
- __version_tuple__ = version_tuple = (0, 0, 23)
31
+ __version__ = version = '0.0.25'
32
+ __version_tuple__ = version_tuple = (0, 0, 25)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -319,7 +319,7 @@ if settings.CONFLUENCE_MOCK_CREATE_POSTMORTEM:
319
319
  from random import randint
320
320
 
321
321
  fake_id = str(randint(10, 99999)) # nosec: B311 # noqa: S311
322
- confluence_service.create_postmortem = lambda title, _incident: { # type: ignore
322
+ confluence_service.create_postmortem = lambda title: { # type: ignore
323
323
  "id": fake_id,
324
324
  "type": "page",
325
325
  "status": "current",
@@ -40,29 +40,29 @@ class LevelChoices(models.TextChoices):
40
40
  @property
41
41
  def priority(self) -> int:
42
42
  """Send level choice priority ."""
43
- priority_mapping = {
44
- self.HIGHEST: 1,
45
- self.HIGH: 2,
46
- self.MEDIUM: 3,
47
- self.LOW: 4,
48
- self.LOWEST: 5,
49
- self.NONE: 6,
43
+ priority_mapping: dict[str, int] = {
44
+ LevelChoices.HIGHEST: 1,
45
+ LevelChoices.HIGH: 2,
46
+ LevelChoices.MEDIUM: 3,
47
+ LevelChoices.LOW: 4,
48
+ LevelChoices.LOWEST: 5,
49
+ LevelChoices.NONE: 6,
50
50
  }
51
- return priority_mapping.get(self, 6) # type: ignore[call-overload]
51
+ return priority_mapping.get(self.value, 6)
52
52
 
53
53
  @property
54
54
  def emoji(self) -> str:
55
55
  """Send emoji un function of priority."""
56
56
  none_emoji = ""
57
- emoji_mapping = {
58
- self.HIGHEST: "⏫",
59
- self.HIGH: "🔼",
60
- self.MEDIUM: "➡️",
61
- self.LOW: "🔽",
62
- self.LOWEST: "⏬",
63
- self.NONE: none_emoji,
57
+ emoji_mapping: dict[str, str] = {
58
+ LevelChoices.HIGHEST: "⏫",
59
+ LevelChoices.HIGH: "🔼",
60
+ LevelChoices.MEDIUM: "➡️",
61
+ LevelChoices.LOW: "🔽",
62
+ LevelChoices.LOWEST: "⏬",
63
+ LevelChoices.NONE: none_emoji,
64
64
  }
65
- return emoji_mapping.get(self, none_emoji) # type: ignore[call-overload]
65
+ return emoji_mapping.get(self.value, none_emoji)
66
66
 
67
67
 
68
68
  class ImpactLevel(models.Model):
@@ -331,13 +331,13 @@ class PagerDutySchedule(models.Model):
331
331
  pagerduty_url = models.URLField(max_length=256, null=True, blank=True)
332
332
  # TODO: Add more fields
333
333
 
334
- escalation_policies = models.ManyToManyField(
334
+ escalation_policies: models.ManyToManyField[PagerDutyEscalationPolicy, PagerDutyEscalationPolicy] = models.ManyToManyField(
335
335
  PagerDutyEscalationPolicy, related_name="pagerduty_schedule_set", blank=True
336
336
  )
337
- users = models.ManyToManyField(
337
+ users: models.ManyToManyField[PagerDutyUser, PagerDutyUser] = models.ManyToManyField(
338
338
  PagerDutyUser, related_name="pagerduty_schedule_set", blank=True
339
339
  )
340
- teams = models.ManyToManyField(
340
+ teams: models.ManyToManyField[PagerDutyTeam, PagerDutyTeam] = models.ManyToManyField(
341
341
  PagerDutyTeam, related_name="pagerduty_schedule_set", blank=True
342
342
  )
343
343
 
@@ -24,6 +24,10 @@ error_jira_ticket_creation = "Could not create Jira ticket"
24
24
 
25
25
 
26
26
  def check_issue_id(issue: JiraObject, title: str, reporter: str) -> int | str:
27
+ """Check and return the issue ID from a JiraObject.
28
+
29
+ Raises JiraAPIError if the issue ID is missing or invalid.
30
+ """
27
31
  issue_id = issue.get("id")
28
32
  if issue_id is None:
29
33
  logger.error(
firefighter/raid/types.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TypedDict
3
+ from typing import NotRequired, TypedDict
4
4
 
5
5
  _JiraId = int | str
6
6
  _Key = str
@@ -12,8 +12,8 @@ _BusinessImpact = str
12
12
 
13
13
 
14
14
  class JiraObject(TypedDict):
15
- id: _JiraId
16
- key: _Key
15
+ id: NotRequired[_JiraId]
16
+ key: NotRequired[_Key]
17
17
  assignee_id: _AssigneeId
18
18
  reporter_id: _ReporterId
19
19
  description: _Description
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firefighter-incident
3
- Version: 0.0.23
3
+ Version: 0.0.25
4
4
  Summary: Incident Management tool made for Slack using Django
5
5
  Project-URL: Repository, https://github.com/ManoManoTech/firefighter-incident
6
6
  Project-URL: Documentation, https://manomanotech.github.io/firefighter-incident/latest/
@@ -6,7 +6,7 @@ gunicorn.conf.py,sha256=vHsTGjaKOr8FDMp6fTKYTX4AtokmPgYvvt5Mr0Q6APc,273
6
6
  main.py,sha256=CsbprHoOYhjCLpTJmq9Z_aRYFoFgWxoz2pDLuwm8Eqg,1558
7
7
  manage.py,sha256=5ivHGD13C6nJ8QvltKsJ9T9akA5he8da70HLWaEP3k8,689
8
8
  firefighter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- firefighter/_version.py,sha256=ibKwfdtUKJ8ftEJ-ANHeQVfItYjoZhYBzigrJx5AdJU,706
9
+ firefighter/_version.py,sha256=DspPu1FRRiGe5F0Nbz1wXOpsS5e-m6ETOzBjU5BFWRE,706
10
10
  firefighter/api/__init__.py,sha256=JQW0Bv6xwGqy7ioxx3h6UGMzkkJ4DntDpbvV1Ncgi8k,136
11
11
  firefighter/api/admin.py,sha256=x9Ysy-GiYjb0rynmFdS9g56e6n24fkN0ouGy5QD9Yrc,4629
12
12
  firefighter/api/apps.py,sha256=P5uU1_gMrDfzurdMbfqw1Bnb2uNKKcMq17WBPg2sLhc,204
@@ -57,7 +57,7 @@ firefighter/confluence/apps.py,sha256=vKswBwQL7L9e2JQwvRb7xy3myyE_GRldYX78jSY3XC
57
57
  firefighter/confluence/client.py,sha256=xjSsrsGPF75JANNvam2YgiUkztuXhOcs9pMmPbb7ymk,6361
58
58
  firefighter/confluence/models.py,sha256=ExFip6Tw199jI5LVLqC8t4pOPsvQxfEhtQeWCqTijFw,8769
59
59
  firefighter/confluence/serializers.py,sha256=CzuHVXIJNS47NCAJLXSTDOevtg5sf309XXEcWKQ1sAQ,258
60
- firefighter/confluence/service.py,sha256=MU_wHGxgLmfR7t4wLJbfldwivlBfyaeXFKjOfFJzEqk,12307
60
+ firefighter/confluence/service.py,sha256=dOQXj0uDInEm25nvL6lXiSH4hQ5oC2VDyBd1zbEcZ5U,12296
61
61
  firefighter/confluence/tables.py,sha256=ANEtFXzXyPK6E5FIrBC5XoQt5R3ZUY1DME_RbD1h_NE,732
62
62
  firefighter/confluence/urls.py,sha256=0O6ccLV0uLz4pSBZ34smgrlau46zN4HYakB7yUgS7P0,715
63
63
  firefighter/confluence/utils.py,sha256=QmjF02-roTn2HkAM9TvUKT_CwotL4C8qi5YzIFt3IOU,3135
@@ -180,7 +180,7 @@ firefighter/incidents/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
180
180
  firefighter/incidents/models/__init__.py,sha256=FLVyBwIdyxLdgSvXRAKC3fry9YwwqlqhitTIuG0vWrk,877
181
181
  firefighter/incidents/models/environment.py,sha256=51txwua3dCrWZ1iSG3ZA8rbDn9c00pyMAZujl9gwE5c,827
182
182
  firefighter/incidents/models/group.py,sha256=VrVL315VFUvKW69AZuRUBg1h0jZJvn8zWeMxMOWec1Y,700
183
- firefighter/incidents/models/impact.py,sha256=bzTTW79FmclLcAKN0wmk739cXBiYIY_YHpkkASGn5Rw,4776
183
+ firefighter/incidents/models/impact.py,sha256=D9NngMtg4XdDWnMgdVYaWCoUZ-fMXTvfL0eTEk9sc7M,4854
184
184
  firefighter/incidents/models/incident.py,sha256=UdL9bc-3Ou-OS8P-nHO4YF6-Hk0mDkGNq1zjOq-TNFk,28022
185
185
  firefighter/incidents/models/incident_category.py,sha256=g4OHv_XQhWcH6dvkqkyCgjlruo_1eih_CdtAPgPhaW4,7744
186
186
  firefighter/incidents/models/incident_cost.py,sha256=juwOfJKRaNQpOHkRUCHShDDba0FU98YjRPkU4I0ofAU,1346
@@ -298,7 +298,7 @@ firefighter/pagerduty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
298
298
  firefighter/pagerduty/admin.py,sha256=PmC227877OM-dq86953aQppu8TMWPnCZy4xJw5NST6E,3216
299
299
  firefighter/pagerduty/apps.py,sha256=l9cVqMhntdtvWBhM6vRTJPUhYB6p1YNQaAvssVBQsdY,451
300
300
  firefighter/pagerduty/client.py,sha256=wdS_rDBrMkuuQs_2bEOoz2OmjMBJLjMrBAMdoPK4rHE,2205
301
- firefighter/pagerduty/models.py,sha256=wIAT2-BELi30blhYQKOlAxO5qV4kFv3ILVI7i0PKaJk,19448
301
+ firefighter/pagerduty/models.py,sha256=zlTaIr65qME3ZFJL7iMxhFq5O2ILKLbteolrARIRAew,19634
302
302
  firefighter/pagerduty/service.py,sha256=kZDBkTe2NZ8bZw8_9nKSvzaM3fv9k4iekpkWV-62fhw,2943
303
303
  firefighter/pagerduty/urls.py,sha256=2eOf-fZnXg3uW4pH68yE-0xJpSGLCXbKCrdShfbJHvM,455
304
304
  firefighter/pagerduty/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -329,8 +329,8 @@ firefighter/raid/messages.py,sha256=e75kwi0hCe5ChwU4t-_6Q3Rcy22MLLdVSsYyjvG2SCM,
329
329
  firefighter/raid/models.py,sha256=29Smci739K1ZdcMu7uXYvoVEhgDpwLQoCzBbc5wvwhs,2211
330
330
  firefighter/raid/resources.py,sha256=39GhITs3OAWA1eSPZme-rLd818kuz7gwYzdN38zNz8Y,436
331
331
  firefighter/raid/serializers.py,sha256=4U6UFUNVR68lBYDzjYp8j1JzmfSftASOp1nQifCRXYQ,11941
332
- firefighter/raid/service.py,sha256=rxRjEpA5wg4JRe4UrGW-y8C8quHvGlJzQ0U8rdy-DyM,8490
333
- firefighter/raid/types.py,sha256=0lFy_Wl3Ekyy_sxTHPRxMn3kjEJVWCTPjmefDlrPqMQ,438
332
+ firefighter/raid/service.py,sha256=Njk8mXSTzrSdDyvFcPWqcWqJoA2lsSRIWjK8bgIAYpA,8618
333
+ firefighter/raid/types.py,sha256=E0ZUjBCMwCgr0eSX3CfRTpmq0n-jMans1WxoYSnj7xg,477
334
334
  firefighter/raid/urls.py,sha256=oESkDY2tfZcnPGUgULqixvbV3Z7YsZfeI10RX3A5tZY,924
335
335
  firefighter/raid/utils.py,sha256=OhsuFb46lokVxjyfeBFLMcMIGzjkTrrdd6DCXUJym0E,1111
336
336
  firefighter/raid/migrations/0001_initial_oss.py,sha256=oZQ44dHboLeHbvVyziHX_hhdis8H_Buv2W3jHiDzQhA,6259
@@ -518,8 +518,8 @@ firefighter_tests/test_slack/views/modals/test_send_sos.py,sha256=_rE6jD-gOzcGyh
518
518
  firefighter_tests/test_slack/views/modals/test_status.py,sha256=oQzPfwdg2tkbo9nfkO1GfS3WydxqSC6vy1AZjZDKT30,2226
519
519
  firefighter_tests/test_slack/views/modals/test_update_status.py,sha256=3ARHZPs22FTx7IjgOldzEpVxxWeHqEbe4kQphUuSp34,55928
520
520
  firefighter_tests/test_slack/views/modals/test_utils.py,sha256=DJd2n9q6fFu8UuCRdiq9U_Cn19MdnC5c-ydLLrk6rkc,5218
521
- firefighter_incident-0.0.23.dist-info/METADATA,sha256=5pD4MN6Pms0cgm7f16chi42i52sjKke_UItPGRcP9ds,5570
522
- firefighter_incident-0.0.23.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
523
- firefighter_incident-0.0.23.dist-info/entry_points.txt,sha256=c13meJbv7YNmYz7MipMOQwzQ5IeFOPXUBYAJ44XMQsM,61
524
- firefighter_incident-0.0.23.dist-info/licenses/LICENSE,sha256=krRiGp-a9-1nH1bWpBEdxyTKLhjLmn6DMVVoIb0zF90,1087
525
- firefighter_incident-0.0.23.dist-info/RECORD,,
521
+ firefighter_incident-0.0.25.dist-info/METADATA,sha256=yrMhHcwuGmucr_GZo7pT5OuQ4K4kSQjZtmk3f2c5P1w,5570
522
+ firefighter_incident-0.0.25.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
523
+ firefighter_incident-0.0.25.dist-info/entry_points.txt,sha256=c13meJbv7YNmYz7MipMOQwzQ5IeFOPXUBYAJ44XMQsM,61
524
+ firefighter_incident-0.0.25.dist-info/licenses/LICENSE,sha256=krRiGp-a9-1nH1bWpBEdxyTKLhjLmn6DMVVoIb0zF90,1087
525
+ firefighter_incident-0.0.25.dist-info/RECORD,,