<commit_before>"""Change the salutation in german texts.

The function change_german_salutation is registered in setup.py
in setup.py.
"""

import sys
import os
import json
import re
import optparse
import textwrap
import inspect


def change_german_salutation():
    """Import german translation json file and change from Du to Sie.

    usage::

        bin/change_german_salutation jsonfile
    """
    usage = 'usage: %prog config_file'
    parser = optparse.OptionParser(
        usage=usage,
        description=textwrap.dedent(inspect.getdoc(change_german_salutation))
    )
    options, args = parser.parse_args(sys.argv[1:])
    if not len(args) >= 1:
        print('You must provide at least one argument')
        return 2

    jsonfile = args[0]
    data = json.load(open(jsonfile, 'r'))

    regexlist = [
        ('Bitte entschuldige', 'Bitte entschuldigen Sie'),
        ('aktiviere', 'aktivieren Sie'),
        ('registrierst hast', 'registriert haben'),
        ('wechsle', 'wechseln Sie'),
        ('Bitte setze', 'Bitte setzen Sie'),
        ('stimme den', 'stimmen Sie den'),
        ('Ziehe den', 'Ziehen Sie den'),
        ('Gehe', 'Gehen Sie'),
        ('gehe auf', 'gehen Sie auf'),
        ('überprüfe', 'überprüfen Sie'),
        ('kontaktiere', 'kontaktieren Sie'),
        ('schaue', 'schauen Sie'),
        ('Klicke', 'Klicken Sie'),
        ('gib dabei', 'geben Sie dabei'),
        ('Bitte gib', 'Bitte geben Sie'),
        ('Du kannst', 'Sie können'),
        ('Du hast', 'Sie haben'),
        ('Du bist', 'Sie sind'),
        ('Du auf den Aktivierungslink geklickt hast, kannst Du',
            'Sie auf den Aktivierungslink geklickt haben, können Sie'),
        ('Du diese E-Mail nicht erhältst, überprüfe',
            'Sie diese E-Mail nicht erhalten, überprüfen Sie'),
        ('Du kannst', 'Sie können'),
        ('Du Dich', 'Sie sich'),
        ('Dir', 'Ihnen'),
        ('Dein', 'Ihr'),
        ('überprüfe Deine', 'überprüfen Sie Ihre'),<commit_msg>avoid double replacement<commit_after>"""Change the salutation in german texts.

The function change_german_salutation is registered in setup.py
in setup.py.
"""

import sys
import os
import json
import re
import optparse
import textwrap
import inspect


def change_german_salutation():
    """Import german translation json file and change from Du to Sie.

    usage::

        bin/change_german_salutation jsonfile
    """
    usage = 'usage: %prog config_file'
    parser = optparse.OptionParser(
        usage=usage,
        description=textwrap.dedent(inspect.getdoc(change_german_salutation))
    )
    options, args = parser.parse_args(sys.argv[1:])
    if not len(args) >= 1:
        print('You must provide at least one argument')
        return 2

    jsonfile = args[0]
    data = json.load(open(jsonfile, 'r'))

    regexlist = [
        ('Bitte entschuldige', 'Bitte entschuldigen Sie'),
        ('aktiviere', 'aktivieren Sie'),
        ('registrierst hast', 'registriert haben'),
        ('wechsle', 'wechseln Sie'),
        ('Bitte setze', 'Bitte setzen Sie'),
        ('stimme den', 'stimmen Sie den'),
        ('Ziehe den', 'Ziehen Sie den'),
        ('Gehe', 'Gehen Sie'),
        ('gehe auf', 'gehen Sie auf'),
        ('überprüfe', 'überprüfen Sie'),
        ('kontaktiere', 'kontaktieren Sie'),
        ('schaue', 'schauen Sie'),
        ('Klicke', 'Klicken Sie'),
        ('gib dabei', 'geben Sie dabei'),
        ('Bitte gib', 'Bitte geben Sie'),
        ('Du kannst', 'Sie können'),
        ('Du hast', 'Sie haben'),
        ('Du bist', 'Sie sind'),
        ('Du auf den Aktivierungslink geklickt hast, kannst Du',
            'Sie auf den Aktivierungslink geklickt haben, können Sie'),
        ('Du diese E-Mail nicht erhältst, überprüfe ',
            'Sie diese E-Mail nicht erhalten, überprüfen Sie '),
        ('Du kannst', 'Sie können'),
        ('Du Dich', 'Sie sich'),
        ('Dir', 'Ihnen'),
        ('Dein', 'Ihr'),
        ('überprüfe Deine', 'überprüfen Sie Ihre'),
{'fraction_non_alphanumeric': 0.14124718256949662, 'fraction_numerical': 0.0020035061357375405, 'mean_word_length': 2.7292250233426705, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '1891435', 'n_tokens_mistral': 1307, 'n_tokens_neox': 1301, 'n_words': 387}