def add_stand_person_func(func_name, table_name, additional_fields=None):
    fields = ['name', 'surname', 'gender', 'age', 'city']
    if (additional_fields):
        fields = [*fields, *additional_fields]

    create_helpers.insert_using_func(
        func_name, table_name, create_helpers.generate_random_values(fields))
def add_battle():
    create_helpers.insert_into_table(
        config.TABLE_BATTLE,
        ['DESCRIPTION_ID', 'DRAWING_ID', 'BATTLE_NAME', 'DURATION'],
        create_helpers.generate_random_values([
            'battle_description_id', 'battle_drawing_id', 'battle_name',
            'for_battle'
        ]))
def add_abilities():
    create_helpers.insert_into_table(
        config.TABLE_ABILITIES, [
            'DESCRIPTION_ID', 'ABILITY_NAME', 'DESCRIPTION', 'ABILITY_TYPE',
            'COMPLEXITY_LEVEL'
        ],
        create_helpers.generate_random_values([
            'ability_description_id', 'ability_name', 'description',
            'ability_type', 'complexity_level'
        ]))
def add_location():
    create_helpers.insert_into_table(
        config.TABLE_LOCATIONS, [
            'DESCRIPTION_ID', 'DRAWING_ID', 'LOCATION_NAME', 'AREA',
            'LOCATION_TYPE', 'FOR_BATTLE'
        ],
        create_helpers.generate_random_values([
            'location_description_id', 'location_drawing_id', 'city', 'area',
            'location_type', 'importance_level'
        ]))
def add_plot():
    create_helpers.insert_into_table(
        config.TABLE_PLOT, [
            'PLOT_PROCESS', 'PLOT_NAME', 'PAGES_NUMBER', 'PLOT_TYPE',
            'DESCRIPTION', 'NARRATIVE_PERIOD'
        ],
        create_helpers.generate_random_values([
            'plot_process', 'plot_name', 'plot_pages_number', 'plot_type',
            'description', 'narrative_period'
        ]))
def add_stand_process_func(func_name, table_name, additional_fields=None):
    start_date = create_helpers.generate_random_date('2007-01-01', 365 * 13)
    deadline_date = create_helpers.generate_random_date(start_date, 120)

    values_generators = {
        'deadline_date': lambda: deadline_date,
        'start_date': lambda: start_date
    }

    fields = [
        'duration', 'deadline_date', 'description', 'process_status',
        'estimation_time', 'start_date'
    ]
    if (additional_fields):
        fields = [*fields, *additional_fields]

    create_helpers.insert_using_func(
        func_name, table_name,
        create_helpers.generate_random_values(fields, values_generators))
def add_character():
    birth_date = create_helpers.generate_random_date('2007-01-01', 365 * 89)

    values_generators = {'birth_date': lambda: birth_date}

    create_helpers.insert_into_table(
        config.TABLE_ABILITIES, [
            'VOICE_ACTING_ID', 'SELECTION_ID', 'DRAWING_ID', 'DESCRIPTION_ID',
            'CHARACTER_NAME', 'GENDER', 'PROTAGONIST', 'POSITIVE', 'AGE',
            'BIRTH_DATE'
        ],
        create_helpers.generate_random_values([
            'voice_acting_id',
            'character_selection_id',
            'character_drawing_id',
            'character_description_id',
            'character_name',
            'gender',
            'protagonist',
            'positive',
        ]), values_generators)
def add_event():
    create_helpers.insert_into_table(
        config.TABLE_EVENTS, ['EVENT_NAME', 'DESCRIPTION', 'IMPORTANCE_LEVEL'],
        create_helpers.generate_random_values(
            ['event_name', 'description', 'importance_level']))