Coverage for app/venv/lib/python3.14/site-packages/weblate/fonts/migrations/0001_squashed_weblate_5.py: 100%
12 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 07:15 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 07:15 +0000
1# Copyright © Michal Čihař <michal@weblate.org>
2#
3# SPDX-License-Identifier: GPL-3.0-or-later
5# Generated by Django 4.2.5 on 2023-09-18 08:13
7import django.core.files.storage
8import django.db.models.deletion
9from django.conf import settings
10from django.db import migrations, models
12import weblate.fonts.validators
13import weblate.trans.mixins
14from weblate.utils.data import data_dir
17class Migration(migrations.Migration):
18 replaces = [
19 ("fonts", "0001_squashed_0007_auto_20190517_1907"),
20 ("fonts", "0002_auto_20210512_1955"),
21 ("fonts", "0003_alter_fontgroup_unique_together_and_more"),
22 ]
24 initial = True
26 dependencies = [
27 ("trans", "0001_squashed_weblate_5"),
28 ("lang", "0001_squashed_weblate_5"),
29 migrations.swappable_dependency(settings.AUTH_USER_MODEL),
30 ]
32 operations = [
33 migrations.CreateModel(
34 name="Font",
35 fields=[
36 (
37 "id",
38 models.AutoField(
39 auto_created=True,
40 primary_key=True,
41 serialize=False,
42 verbose_name="ID",
43 ),
44 ),
45 (
46 "family",
47 models.CharField(
48 blank=True, max_length=100, verbose_name="Font family"
49 ),
50 ),
51 (
52 "style",
53 models.CharField(
54 blank=True, max_length=100, verbose_name="Font style"
55 ),
56 ),
57 (
58 "font",
59 models.FileField(
60 help_text="OpenType and TrueType fonts are supported.",
61 storage=django.core.files.storage.FileSystemStorage(
62 location=data_dir("fonts")
63 ),
64 upload_to="",
65 validators=[weblate.fonts.validators.validate_font],
66 verbose_name="Font file",
67 ),
68 ),
69 ("timestamp", models.DateTimeField(auto_now_add=True)),
70 (
71 "project",
72 models.ForeignKey(
73 on_delete=django.db.models.deletion.CASCADE, to="trans.project"
74 ),
75 ),
76 (
77 "user",
78 models.ForeignKey(
79 blank=True,
80 null=True,
81 on_delete=django.db.models.deletion.SET_NULL,
82 to=settings.AUTH_USER_MODEL,
83 ),
84 ),
85 ],
86 options={
87 "unique_together": {("family", "style", "project")},
88 "verbose_name": "Font",
89 "verbose_name_plural": "Fonts",
90 },
91 bases=(models.Model, weblate.trans.mixins.UserDisplayMixin),
92 ),
93 migrations.CreateModel(
94 name="FontGroup",
95 fields=[
96 (
97 "id",
98 models.AutoField(
99 auto_created=True,
100 primary_key=True,
101 serialize=False,
102 verbose_name="ID",
103 ),
104 ),
105 (
106 "name",
107 models.SlugField(
108 help_text="Identifier you will use in checks to select this font group. Avoid whitespaces and special characters.",
109 max_length=100,
110 verbose_name="Font group name",
111 ),
112 ),
113 (
114 "font",
115 models.ForeignKey(
116 help_text="Default font is used unless per language override matches.",
117 on_delete=django.db.models.deletion.CASCADE,
118 to="fonts.font",
119 verbose_name="Default font",
120 ),
121 ),
122 (
123 "project",
124 models.ForeignKey(
125 db_index=False,
126 on_delete=django.db.models.deletion.CASCADE,
127 to="trans.project",
128 ),
129 ),
130 ],
131 options={
132 "unique_together": {("project", "name")},
133 "verbose_name": "Font group",
134 "verbose_name_plural": "Font groups",
135 },
136 ),
137 migrations.CreateModel(
138 name="FontOverride",
139 fields=[
140 (
141 "id",
142 models.AutoField(
143 auto_created=True,
144 primary_key=True,
145 serialize=False,
146 verbose_name="ID",
147 ),
148 ),
149 (
150 "font",
151 models.ForeignKey(
152 on_delete=django.db.models.deletion.CASCADE,
153 to="fonts.font",
154 verbose_name="Font",
155 ),
156 ),
157 (
158 "group",
159 models.ForeignKey(
160 db_index=False,
161 on_delete=django.db.models.deletion.CASCADE,
162 to="fonts.fontgroup",
163 ),
164 ),
165 (
166 "language",
167 models.ForeignKey(
168 on_delete=django.db.models.deletion.CASCADE,
169 to="lang.language",
170 verbose_name="Language",
171 ),
172 ),
173 ],
174 options={
175 "unique_together": {("group", "language")},
176 "verbose_name": "Font override",
177 "verbose_name_plural": "Font overrides",
178 },
179 ),
180 ]