Source code for nkdsu.apps.vote.management.commands.non_ascii_tracks
import re
from django.core.management.base import BaseCommand
from ...models import Track
[docs]
class Command(BaseCommand):
[docs]
def handle(self, **options) -> None:
seen_chars: set[str] = set()
for track in Track.objects.all():
if non_ascii_chars := re.sub(
r'[ -~]', '', track.id3_title + track.id3_artist
):
new_chars = {c for c in non_ascii_chars if c not in seen_chars}
if new_chars:
print(''.join(new_chars))
print(f' {track}')
seen_chars.update(new_chars)