<commit_before>import json
import codecs
import tempfile
from django.core.management.commands.makemessages import Command as BaseCommand


class Command(BaseCommand):
    """ Extend the makemessages to include some of the fixtures """

    fixtures = [
        ('bb_projects', 'project_data.json'),
        ('bb_tasks', 'skills.json'),
        ('geo', 'geo_data.json'),
    ]

    def handle(self, *args, **kwargs):
        strings = []
        for app, file in self.fixtures:
            with open('bluebottle/{}/fixtures/{}'.format(app, file)) as fixture_file:
                strings += [fixture['fields']['name'].encode('utf-8') for fixture in json.load(fixture_file)]

        with tempfile.NamedTemporaryFile(dir='bluebottle', suffix='.py') as temp:
            temp.write('\n'.join(['gettext("{}")'.format(string) for string in strings]))
            temp.flush()

            return super(Command, self).handle(*args, **kwargs)<commit_msg>Add a context to the fixture translations<commit_after>import json
import codecs
import tempfile
from django.core.management.commands.makemessages import Command as BaseCommand


class Command(BaseCommand):
    """ Extend the makemessages to include some of the fixtures """

    fixtures = [
        ('bb_projects', 'project_data.json'),
        ('bb_tasks', 'skills.json'),
        ('geo', 'geo_data.json'),
    ]

    def handle(self, *args, **kwargs):
        with tempfile.NamedTemporaryFile(dir='bluebottle', suffix='.py') as temp:
            for app, file in self.fixtures:
                with open('bluebottle/{}/fixtures/{}'.format(app, file)) as fixture_file:
                    for string in [
                            fixture['fields']['name'].encode('utf-8')
                            for fixture
                            in json.load(fixture_file)]:
                        temp.write('pgettext("{}-fixtures", "{}")\n'.format(app, string))

            temp.flush()

            return super(Command, self).handle(*args, **kwargs)
{'fraction_non_alphanumeric': 0.14185814185814186, 'fraction_numerical': 0.000999000999000999, 'mean_word_length': 2.551418439716312, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3309937', 'n_tokens_mistral': 571, 'n_tokens_neox': 549, 'n_words': 136}