NDOJ/judge/migrations/0091_compiler_message_ansi2html.py
2022-05-14 12:57:27 -05:00

23 lines
670 B
Python

# -*- coding: utf-8 -*-
import lxml.html as lh
from django.db import migrations
from lxml.html.clean import clean_html
def strip_error_html(apps, schema_editor):
Submission = apps.get_model("judge", "Submission")
for sub in Submission.objects.filter(error__isnull=False).iterator():
if sub.error:
sub.error = clean_html(lh.fromstring(sub.error)).text_content()
sub.save(update_fields=["error"])
class Migration(migrations.Migration):
dependencies = [
("judge", "0090_fix_contest_visibility"),
]
operations = [
migrations.RunPython(strip_error_html, migrations.RunPython.noop, atomic=True),
]