138 ), |
138 ), |
139 ) |
139 ) |
140 @problem_type('unnecessary-invertnext', |
140 @problem_type('unnecessary-invertnext', |
141 severity = 'warning', |
141 severity = 'warning', |
142 message = 'flat subfile unnecessarily inverted using BFC INVERTNEXT' |
142 message = 'flat subfile unnecessarily inverted using BFC INVERTNEXT' |
|
143 ) |
|
144 @problem_type('mirrored-studs', |
|
145 severity = 'warning', |
|
146 message = lambda primitive: str.format( |
|
147 '"{primitive}" should not be mirrored', |
|
148 primitive = primitive, |
|
149 ) |
|
150 ) |
|
151 @problem_type('mirrored-studs-indirect', |
|
152 severity = 'warning', |
|
153 message = lambda primitive: str.format( |
|
154 '"{primitive}" should not be mirrored because it contains studs', |
|
155 primitive = primitive, |
|
156 ) |
143 ) |
157 ) |
144 def dependent_subfile_tests(model): |
158 def dependent_subfile_tests(model): |
145 ''' |
159 ''' |
146 Tests subfile references for such qualities that are dependent on the |
160 Tests subfile references for such qualities that are dependent on the |
147 actual contents of the subfiles. Checks whether moved-to files are used. |
161 actual contents of the subfiles. Checks whether moved-to files are used. |
207 if has_invertnext and subfile.flatness: |
221 if has_invertnext and subfile.flatness: |
208 yield report_problem( |
222 yield report_problem( |
209 'unnecessary-invertnext', |
223 'unnecessary-invertnext', |
210 bad_object = subfile_reference, |
224 bad_object = subfile_reference, |
211 ) |
225 ) |
|
226 from filecache import is_logo_stud_name |
|
227 # Test whether any stud subfile is mirrored. |
|
228 if is_logo_stud_name(subfile_reference.subfile_path) \ |
|
229 and subfile_reference.matrix.is_mirrored(): |
|
230 yield report_problem( |
|
231 'mirrored-studs', |
|
232 bad_object = subfile_reference, |
|
233 primitive = subfile_reference.subfile_path, |
|
234 ) |
|
235 elif subfile.has_studs and subfile_reference.matrix.is_mirrored(): |
|
236 yield report_problem( |
|
237 'mirrored-studs-indirect', |
|
238 bad_object = subfile_reference, |
|
239 primitive = subfile_reference.subfile_path, |
|
240 ) |
212 |
241 |
213 def dimensions_description(dimensions): |
242 def dimensions_description(dimensions): |
214 if isinstance(dimensions, str): |
243 if isinstance(dimensions, str): |
215 return dimensions |
244 return dimensions |
216 else: |
245 else: |