from BaseModels.inter import cut_to_number_w_point


def generate_seotext_by_properties(product_data_Dict):

    power_txt = ''
    ip_txt = ''
    lm_txt = ''
    temp_txt = ''
    install_txt = ''
    diametr_txt = ''

    try:

        if 'diameter' in product_data_Dict:
            val = int(product_data_Dict['diameter'])
        else:
            val = int(product_data_Dict['width'])

        diametr_txt = '{0} truEnergy {1} серии {2}.<br>'.format(
            product_data_Dict['product_type']['name'].upper(),
            product_data_Dict['article'],
            product_data_Dict['product_series']['name'].upper()
        )

        # if product_data_Dict['product_type']['name'] == 'Светильник светодиодный':
        #
        #     if val < 100:
        #         diametr_txt = '{0} truEnergy {1} серии {2} -  это хорошее решение для дома.<br>'.format(
        #             product_data_Dict['product_type']['name'].upper(),
        #             product_data_Dict['article'],
        #             product_data_Dict['product_series']['name'].upper()
        #         )
        #
        #     elif val < 150:
        #         diametr_txt = '{0} truEnergy {1} серии {2} отлично подойдет для освещения вашей квартиры, дома или офиса.<br>'.format(
        #             product_data_Dict['product_type']['name'].upper(),
        #             product_data_Dict['article'],
        #             product_data_Dict['product_series']['name'].upper()
        #         )
        #
        #     else:
        #         diametr_txt = '{0} truEnergy {1} серии {2} - это энергоэффективное освещение для различных площадей и объектов.<br>'.format(
        #             product_data_Dict['product_type']['name'].upper(),
        #             product_data_Dict['article'],
        #             product_data_Dict['product_series']['name'].upper()
        #         )
        # # не светильник
        # else:
        #     diametr_txt = '{0} truEnergy {1} серии {2} - это энергоэффективное решение для освещения различных пространств.<br>'.format(
        #         product_data_Dict['product_type']['name'].upper(),
        #         product_data_Dict['article'],
        #         product_data_Dict['product_series']['name'].upper()
        #     )
    except Exception as e:
        pass

    # ---------
    for property in product_data_Dict['properties_w_values_filtred']:

        # ------

        try:

            if property['property']['name'] == 'Мощность':
                power = int(property['property_value'])

                if power < 7:
                    power_txt = 'Обладая низким энергопотреблением, этот {0} является заменой лампочки накаливания мощностью до 40 Ватт.<br>'.format(
                        product_data_Dict['product_type']['name'].lower(),
                    )

                elif power < 13:
                    power_txt = 'Энергоэффективность этого устройства позволяет использовть его в местах, ' \
                                'где ранее использовались светильники с лампами накаливания мощностью до 75 Ватт.<br>'.format(
                    )
                elif power < 19:
                    power_txt = 'Этот {0} мощностью {1} Ватт легко заменит старые лампы накаливания мощностью до 100 Ватт ' \
                                'или люминесцентные лампы мощностью до 40 Ватт.<br>'.format(
                        product_data_Dict['product_type']['name'].lower(),
                        str(power)
                    )

                elif power < 37:
                    power_txt = 'Данная модель подходит для освещения больших пространств. ' \
                                'Она не только поможет решить вопрос освещения, но и существенно сэкономит бюджет, ' \
                                'выделенный на решение этой задачи.<br>'.format(
                        product_data_Dict['product_type']['name'].lower(),
                    )
                else:
                    power_txt = '{0} Ватт, в данной модели обеспечивает мощный световой поток. ' \
                                'Это дает возможность установки одного изделия для освещения помещений с большой ' \
                                'площадью или открытых пространств.<br>'.format(
                        str(power),
                        product_data_Dict['product_type']['name'].lower(),
                    )

        except Exception as e:
            pass

        # ------

        try:

            if property['property']['name'] == 'Световой поток' and product_data_Dict['article'] != '11043':
                val = int(property['property_value'])

                if product_data_Dict['product_type']['name'] == 'Светильник светодиодный':
                    lm_txt = 'Один {0} данной модели способен осветить до {1} м.кв. площади ' \
                            'для рабочих зон и жилых комнат, и до {2} м.кв. площади для проходных и подсобных помещений ' \
                            '(при стандартной высоте потолка и нормальной освещенности помещения).<br>'.format(
                        product_data_Dict['product_type']['name'].lower(),
                        str(round(val / 300,2)),
                        str(round(val / 120, 2)),
                    )

        except Exception as e:
            pass

        # -------

        try:

            if property['property']['name'] == 'IP (пылевлагозащита)':
                val = int(property['property_value'])

                if val > 66:
                    ip_txt = 'Максимальная защита IP{0} способна выдержать самые сильные испытания водой. ' \
                             'Освещение с такой защитой используют для фонтанов и бассейнов.<br>'.format(
                        str(val),
                    )

                elif val > 64:
                    ip_txt = 'Данный продукт имеет высокую степень пылевлагозащиты - IP{0}. В связи с этим данная модель прекрасно подходит как ' \
                             'для отапливаемых помещений с нормальным уровнем влажности, так и для помещений неотапливаемых, ' \
                             'а также для эксплуатации на улице. Устройство с данной степенью защиты не боится пыли и влаги' \
                             'а так же имеет защиту от струй воды со всех направлений.<br>'.format(
                        str(val),
                    )

                elif val > 60:
                    ip_txt = 'Степень защиты IP{0} обозначает полную защиту от брызг с любых сторон и имеет полную пылинепроницаемость ' \
                             '(никакая пыль не может проникнуть внутрь корпуса устройства). ' \
                             'Светильники подходят для установки в помещении и на улице, при рабочих температурах -20 до +40 градусов.<br>'.format(
                        str(val),
                    )

                elif val > 53:
                    ip_txt = 'У изделия с степенью защиты IP{0} снижена возможность попадания пыли внутрь корпуса ' \
                             'и обеспечена полная защита расположенной внутри устройстав электроники.' \
                             'Часто используют для рабочих помещений с повышенным содержанием пыли и влаги, а также под навесами.<br>'.format(
                        str(val),
                        product_data_Dict['product_type']['name'].lower(),
                        product_data_Dict['product_type']['name_plural'].lower(),
                    )

                elif val > 40:
                    ip_txt = 'Могут устанавливаться в помещения с повышенным уровнем пыли.'.format(
                        product_data_Dict['product_type']['name'].lower(),
                    )
                else:
                    ip_txt = 'IP{0} - степень защиты данной модели, в связи с этим могут устанавливаться в' \
                             ' отапливаемые помещения с умеренным уровнем влажности.<br>'.format(
                        str(val),
                    )

        except Exception as e:
            pass

        # -------

        try:

            if property['property']['name'] == 'Цветовая температура':
                val = int(property['property_value'])

                if val < 3001:
                    temp_txt = 'Теплый свет, генерируемый этой моделью способствует отдыху и расслаблению. ' \
                             'Он приятен для глаз. В связи с этим рекомендуется устанавливать {0} ' \
                             'с температурой {1}К в зоны отдыха, жилые комнаты и спальни, кафе, лаундж зоны. ' \
                             'Очень удачное решение для обеденных и гостинных комнат.<br>'.format(
                        product_data_Dict['product_type']['name_plural'].lower(),
                        str(val),
                    )

                elif val < 4601:
                    temp_txt = 'Модель обладает нейтральным цветом свечения, который прекрасно подходит и как для жилых помещений и комнат, ' \
                             'так и для рабочих зон (офисов, кабинетов, производств) . ' \
                             'Данный свет стимулирует к работе не вызывая перенапряжения глаз и не искажая цветопередачу. ' \
                             'Универсальное и наиболее распространенное решение.<br>'.format(
                        str(val),
                    )

                elif val < 7001:
                    temp_txt = 'Цветовая температура {0}К - наиболее оптимально использование  в помещениях промышленного назначения, ' \
                             'административных зданиях, на производствах, складах, гаражах, паркингах. ' \
                             'Однако могут применяться и в интерьере для создания акцентов в дизайне, ' \
                             'либо если предпочтения потребителя отданы в пользу белого света. <br>'.format(
                        str(val),
                    )



                else:
                    temp_txt = 'От показателя цветовой температуры зависит то, как Вы будут воспринимать предметы и другие объекты освещенные устройством. ' \
                             'С помощью цветовой температуры можно сделать более приятным отдых и улучшить эффективность работы. ' \
                             'Отниситесь внимательно к выбору устройства по этому параметру.<br>'.format(
                        str(val),
                    )
        except Exception as e:
            pass

        # -------

        try:

            if property['property']['name'] == 'Тип монтажа':
                val = property['property_value']

                if val == 'встраиваемый':
                    install_txt = 'Устройство устанавливается в предварительно вырезанное в поверхности отверстие. ' \
                             'Этот вариант монтажа используется для подвесных и натяжных потолков, а так же для фальш-стен и ниш.'.format(
                        str(val),
                    )

                elif val == 'накладной':
                    install_txt = 'Способ крепления - накладной. Значит эта модель может быть закреплена на любую ровную поверхность.'.format(
                        str(val),
                    )

                elif val == 'встраиваемый/накладной':
                    install_txt = '{0} обладает возможностью монтажа как в отверстия на поверхности плоскостей, так и на любую ровную поверхность.'.format(
                        product_data_Dict['article'],
                    )

                else:
                    pass

                if 'height_visible_part' in product_data_Dict and product_data_Dict['height_visible_part']:
                    install_txt = install_txt + ' Высота видимой части устройства после монтажа составит {0}мм.<br>'.format(
                        str(round(product_data_Dict['height_visible_part']))
                    )
                else:
                    install_txt = install_txt + '<br>'

        except Exception as e:
            pass

    product_data_Dict['seo_text'] = '{0}{1}{2}{3}{4}{5}'.format(
        diametr_txt,
        power_txt,
        lm_txt,
        ip_txt,
        temp_txt,
        install_txt
    )

    return product_data_Dict