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

1# Copyright © Michal Čihař <michal@weblate.org> 

2# 

3# SPDX-License-Identifier: GPL-3.0-or-later 

4 

5# Generated by Django 4.2.5 on 2023-09-18 08:13 

6 

7import django.core.files.storage 

8import django.db.models.deletion 

9from django.conf import settings 

10from django.db import migrations, models 

11 

12import weblate.fonts.validators 

13import weblate.trans.mixins 

14from weblate.utils.data import data_dir 

15 

16 

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 ] 

23 

24 initial = True 

25 

26 dependencies = [ 

27 ("trans", "0001_squashed_weblate_5"), 

28 ("lang", "0001_squashed_weblate_5"), 

29 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 

30 ] 

31 

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 ]