#!/usr/bin/env python3
"""Give suggest recipes in russian by current season."""

import datetime
import shelve

from modules.absolyte_path_module import RECIPE_PATH


def give_item_by_tag(tags):
    """Creation liistst of elements from base by tegs."""
    with shelve.open(RECIPE_PATH) as base:
        base_list = [recipe.lower() for recipe in base]
    recipes_by_tag = [rec for rec in base_list for tag in tags if tag in rec]
    return "; ".join(recipes_by_tag)


def give_season_suggestion():
    """Give suggest recipes by current season."""
    current_month = datetime.datetime.now().month
    all_month = (
        None, 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь',
        'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь')

    # Autumn.
    if current_month in [9, 10, 11]:
        month_list = [
            'осень', 'осенний', 'осеннее', 'осенние', 'осенняя', 'сентябрь',
            'октябрь', 'ноябрь', 'сентября', 'октября', 'ноября',
            'сентябрьский', 'октябрьский', 'ноябрьский', 'свитер',
            'листопад']
        suggestion_list = give_item_by_tag(month_list)
        if suggestion_list == '':
            suggestion_list = "добавить в ваши рецепты что-то осенее;)"
        suggest = f"""
_________________¶
________________¶¶
___________¶___¶¶¶___¶
___________¶¶¶¶¶¶¶¶/¶¶
____¶_______¶¶¶¶|¶¶/¶¶________¶
_¶¶¶¶¶¶______¶¶¶|¶/¶¶_______¶¶¶¶¶
__¶¶¶¶¶¶____¶¶¶¶|/¶¶¶____¶¶¶¶¶¶
_¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶|¶¶¶/¶¶¶¶¶/¶¶¶¶¶¶
____¶¶¶¶¶¶¶¶¶¶¶¶|¶¶/¶¶¶¶¶/¶¶¶¶
¶____¶¶¶¶¶¶¶¶¶¶¶|¶/¶¶¶¶¶/¶¶¶_____¶
¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶|/¶¶¶¶¶/¶¶¶¶__¶¶¶¶
¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶|¶¶¶¶¶/¶¶¶¶¶¶¶¶¶¶¶
__¶¶¶¶¶¶¶¶¶¶¶¶¶¶|¶¶¶¶/¶¶¶¶¶/¶¶¶¶
___¶¶¶¶¶¶¶¶¶¶¶¶¶|¶¶¶/¶¶¶¶/¶¶¶¶¶
_¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶|¶¶/¶¶¶/¶¶¶¶¶¶¶¶¶¶
________¶¶¶¶¶¶¶¶|¶/¶/¶¶¶¶¶¶
_______________¶¶
______________¶¶      На дворе {all_month[current_month]}, осень.
______________¶¶     самое время приготовить что-то уютное,
______________¶¶     бодрящее из ваших рецептов.
_______________¶¶     Рекомендуем:
    ________________¶¶¶     {suggestion_list}
    """

    # Winter.
    elif current_month in [1, 2, 12]:
        month_list = [
            'зима', 'зимний', 'зимнее', 'зимние', 'зимняя', 'январь',
            'декабрь', 'февраль', 'декабря', 'января', 'февраля',
            'декабрьский', 'январский', 'февральский', 'свитер', 'снег',
            'снегопад', 'иней', 'зимушка', 'Зимушка', 'новый год',
            'новым годом', 'рождество', 'рождественский']
        suggestion_list = give_item_by_tag(month_list)
        if suggestion_list == '':
            suggestion_list = "добавить в ваши рецепты что-то зимнее;)"
        suggest = f"""
_____________________$$
_____________________$$
_____________$$$$____$$____$$$$
_____ ____$$____$$$$$$$$$$$$$$____$$
_________$$________$$$$$$________$$
_$$______$$__________$$__________$$______$$
_$$$$$$__$ $__________$$__________$$__$$$$$$
_____$$$$$$__________$$__________$$$$$$
_______$$$$$$________$$________$$$$$$
___$$$$______$$ $$____$$____$$$$______$$$$
_$$______________$$$$$$$$$$______________$$
___________________$$$$$$
_$$______________$$$ $$$$$$$______________$$
___$$$$______$$$$____$$____$$$$______$$$$
_______$$$$$$________$$________$$$$$$
_____$$$$$$__________$$__ ________$$$$$$
_$$$$$$__$$__________$$__________$$__$$$$$$
_$$______$$__________$$__________$$______$$
_________$$________$$$$$$_____ ___$$
_________$$____$$$$$$$$$$$$$$____$$  На дворе {all_month[current_month]}, зима.
_____________$$$$____$$____$$$$       самое время приготовить что-то приятное,
_____________________$$               согревающее из ваших рецептов.
___________
                Рекомендуем:
    {suggestion_list}
    """

    # Spring.
    elif current_month in [3, 4, 5]:
        month_list = [
            'весна', 'весенний', 'весеннее', 'весенние', 'весенняя', 'март',
            'апрель', 'май', 'марта', 'апреля', 'мая', 'мартовский',
            'апрельский', 'майский', 'свежий']
        suggestion_list = give_item_by_tag(month_list)
        if suggestion_list == '':
            suggestion_list = "добавить в ваши рецепты что-то весеннее;)"
        suggest = f"""
______d$$$$b_d$$$$$b
_____$$$$$$$$$$$$$$$$$
____$$$$$$P_$$$$$$$$$
_____V$P_______Y$$P
___________________d$$b
___$$$$_________$$$$$$
___$$$ $$$______$$$$$$$
____Y$$$$$$$$$$$$$$$$P
______Y$P_$$$$$$$
__________Y$$$P_$
__________________$
_________________$
_________________ $
__________________$$$$$_
_________________$$$$$$$$ $
__$$$$$$$_______$$$$$$
_$$$$$$$$$__$$$$$       На дворе {all_month[current_month]}, весна.
$_ _____$$$$$       Самое время бодрящих, легкий ароматов!
________$$_$       Рекомендуем:
    _________$$$    {suggestion_list}
__________$$
___________$
   """

    # Summer.
    elif current_month in [6, 7, 8]:
        month_list = [
            'лето', 'летний', 'летнее', 'летние', 'летняя', 'июнь', 'июль',
            'август', 'июля', 'июня', 'августа', 'июньский', 'июльский',
            'августовский', 'тропический', 'тропики', 'экзотика',
            'экзотический', 'отпуск']
        suggestion_list = give_item_by_tag(month_list)
        if suggestion_list == '':
            suggestion_list = "добавить в ваши рецепты что-то летнее;)"
        suggest = f"""
________________ ¶¶¶¶¶¶¶¶
_______________ ¶¶¶¶
___¶¶¶¶¶¶¶¶¶__ ¶¶¶____¶¶¶
_ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
¶¶¶¶¶ ______¶¶¶¶¶¶¶¶____¶¶¶¶¶
_______ ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶_____¶¶
______ ¶¶¶¶__¶¶¶_¶¶¶¶¶¶¶¶¶
____ ¶¶¶¶___¶¶¶___¶¶¶_¶¶¶¶¶
___ ¶¶¶¶¶__¶¶¶¶_¶¶_¶¶¶_¶¶¶¶¶
___ ¶¶¶___¶¶¶¶¶_¶¶__¶¶¶__¶¶¶
__ ¶¶____¶¶¶¶¶___¶¶_¶¶¶¶_¶¶¶
________ ¶¶¶_____¶¶___¶¶__¶
_________ ¶¶¶____¶¶¶__¶¶__¶
_________ ¶¶¶_____¶¶___¶
_________ ¶¶______¶¶
_________________ ¶¶¶
_________________ ¶¶¶       На дворе {all_month[current_month]}, лето.
_________________ ¶¶¶      Самое время экзотических коктейлей и
________________ ¶¶¶¶      сладости фруктов!
________________ ¶¶¶       Рекомендуем:
    ____________ ¶¶¶_¶¶¶      {suggestion_list}
______________ ¶¶¶¶¶¶¶¶

  """
    return suggest
