Skip to content

Commit d11984b

Browse files
committed
Mark ResultStatus labels and DBTaskResult fields for translation (#94)
1 parent 66213ba commit d11984b

File tree

3 files changed

+97
-16
lines changed

3 files changed

+97
-16
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Generated by Django 4.2.14 on 2024-08-02 13:17
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("django_tasks_database", "0005_alter_dbtaskresult_priority_and_more"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="dbtaskresult",
15+
name="args_kwargs",
16+
field=models.JSONField(verbose_name="args kwargs"),
17+
),
18+
migrations.AlterField(
19+
model_name="dbtaskresult",
20+
name="backend_name",
21+
field=models.TextField(verbose_name="backend name"),
22+
),
23+
migrations.AlterField(
24+
model_name="dbtaskresult",
25+
name="enqueued_at",
26+
field=models.DateTimeField(auto_now_add=True, verbose_name="enqueued at"),
27+
),
28+
migrations.AlterField(
29+
model_name="dbtaskresult",
30+
name="finished_at",
31+
field=models.DateTimeField(null=True, verbose_name="finished at"),
32+
),
33+
migrations.AlterField(
34+
model_name="dbtaskresult",
35+
name="priority",
36+
field=models.IntegerField(default=0, verbose_name="priority"),
37+
),
38+
migrations.AlterField(
39+
model_name="dbtaskresult",
40+
name="queue_name",
41+
field=models.TextField(default="default", verbose_name="queue name"),
42+
),
43+
migrations.AlterField(
44+
model_name="dbtaskresult",
45+
name="result",
46+
field=models.JSONField(default=None, null=True, verbose_name="result"),
47+
),
48+
migrations.AlterField(
49+
model_name="dbtaskresult",
50+
name="run_after",
51+
field=models.DateTimeField(null=True, verbose_name="run after"),
52+
),
53+
migrations.AlterField(
54+
model_name="dbtaskresult",
55+
name="started_at",
56+
field=models.DateTimeField(null=True, verbose_name="started at"),
57+
),
58+
migrations.AlterField(
59+
model_name="dbtaskresult",
60+
name="status",
61+
field=models.CharField(
62+
choices=[
63+
("NEW", "New"),
64+
("RUNNING", "Running"),
65+
("FAILED", "Failed"),
66+
("COMPLETE", "Complete"),
67+
],
68+
default="NEW",
69+
max_length=8,
70+
verbose_name="status",
71+
),
72+
),
73+
migrations.AlterField(
74+
model_name="dbtaskresult",
75+
name="task_path",
76+
field=models.TextField(verbose_name="task path"),
77+
),
78+
]

django_tasks/backends/database/models.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from django.db.models.constraints import CheckConstraint
99
from django.utils import timezone
1010
from django.utils.module_loading import import_string
11+
from django.utils.translation import gettext_lazy as _
1112
from typing_extensions import ParamSpec
1213

1314
from django_tasks.task import (
@@ -71,34 +72,35 @@ class DBTaskResult(GenericBase[P, T], models.Model):
7172
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
7273

7374
status = models.CharField(
75+
_("status"),
7476
choices=ResultStatus.choices,
7577
default=ResultStatus.NEW,
7678
max_length=max(len(value) for value in ResultStatus.values),
7779
)
7880

79-
enqueued_at = models.DateTimeField(auto_now_add=True)
80-
started_at = models.DateTimeField(null=True)
81-
finished_at = models.DateTimeField(null=True)
81+
enqueued_at = models.DateTimeField(_("enqueued at"), auto_now_add=True)
82+
started_at = models.DateTimeField(_("started at"), null=True)
83+
finished_at = models.DateTimeField(_("finished at"), null=True)
8284

83-
args_kwargs = models.JSONField()
85+
args_kwargs = models.JSONField(_("args kwargs"))
8486

85-
priority = models.IntegerField(default=DEFAULT_PRIORITY)
87+
priority = models.IntegerField(_("priority"), default=DEFAULT_PRIORITY)
8688

87-
task_path = models.TextField()
89+
task_path = models.TextField(_("task path"))
8890

89-
queue_name = models.TextField(default=DEFAULT_QUEUE_NAME)
90-
backend_name = models.TextField()
91+
queue_name = models.TextField(_("queue name"), default=DEFAULT_QUEUE_NAME)
92+
backend_name = models.TextField(_("backend name"))
9193

92-
run_after = models.DateTimeField(null=True)
94+
run_after = models.DateTimeField(_("run after"), null=True)
9395

94-
result = models.JSONField(default=None, null=True)
96+
result = models.JSONField(_("result"), default=None, null=True)
9597

9698
objects = DBTaskResultQuerySet.as_manager()
9799

98100
class Meta:
99101
ordering = [F("priority").desc(), F("run_after").desc(nulls_last=True)]
100-
verbose_name = "Task Result"
101-
verbose_name_plural = "Task Results"
102+
verbose_name = _("Task Result")
103+
verbose_name_plural = _("Task Results")
102104
constraints = [
103105
CheckConstraint(
104106
check=Q(priority__range=(MIN_PRIORITY, MAX_PRIORITY)),

django_tasks/task.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from asgiref.sync import async_to_sync, sync_to_async
1919
from django.db.models.enums import TextChoices
2020
from django.utils import timezone
21+
from django.utils.translation import gettext_lazy as _
2122
from typing_extensions import ParamSpec, Self
2223

2324
from .exceptions import ResultDoesNotExist
@@ -34,10 +35,10 @@
3435

3536

3637
class ResultStatus(TextChoices):
37-
NEW = ("NEW", "New")
38-
RUNNING = ("RUNNING", "Running")
39-
FAILED = ("FAILED", "Failed")
40-
COMPLETE = ("COMPLETE", "Complete")
38+
NEW = ("NEW", _("New"))
39+
RUNNING = ("RUNNING", _("Running"))
40+
FAILED = ("FAILED", _("Failed"))
41+
COMPLETE = ("COMPLETE", _("Complete"))
4142

4243

4344
T = TypeVar("T")

0 commit comments

Comments
 (0)