| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- import sys
- from pathlib import Path
- PROJECT_ROOT = Path(__file__).resolve().parents[2]
- sys.path.insert(0, str(PROJECT_ROOT))
- from pre_data.common.client_tools import write_jinja
- WASH_COMMON_KEY = "broadcast-template-jinja:multi_card:wash:common"
- value_w_common ="""
- {%- macro commands_params(changed_params) -%}
- {%- if changed_params is none or changed_params == {} or changed_params == "" -%}
- {{""}}
- {%- else -%}
- {%- set setTemp_raw = changed_params.get('setTemp') -%}
- {%- set speed_raw = changed_params.get('speed') -%}
- {%- set spinTime_raw = changed_params.get('spinTime') -%}
- {%- set washTime_raw = changed_params.get('washTime') -%}
- {%- set setTemp = setTemp_raw | int if setTemp_raw not in [none, ''] else none -%}
- {%- set speed = speed_raw | int if speed_raw not in [none, ''] else none -%}
- {%- set spinTime = spinTime_raw | int if spinTime_raw not in [none, ''] else none -%}
- {%- set washTime = washTime_raw | int if washTime_raw not in [none, ''] else none -%}
- {{[
- "水温常温" if setTemp is not none and setTemp == 0 else "水温95度" if setTemp is not in [none, 65535] and setTemp >= 90 else "水温{}度".format(setTemp) if setTemp is not in [none, 65535] else "",
- "转速{}转".format(speed * 10) if speed is not in [none, 0, 65535] else "",
- "漂洗{}次".format(spinTime) if spinTime not in [none, '', 65535 ] else "",
- "洗涤{}分钟".format(washTime) if washTime not in [none, '', 0, 65535] and washTime <= 255 else ""
- ] | reject("equalto", "") | join(",") }}
- {%- endif -%}
- {%- endmacro -%}
- """
- # 人气模板
- WASH_POPULAR_KEY="broadcast-template-jinja:multi_card:wash:time_popular"
- value_w_popular = """
- {% set program_id = program_id | string | trim %}
- {% set prog = program_name_map.get(program_id) %}
- {% if prog %}
- {{ [
- "{0}程序,是{1}当前人气最高的程序哦。{2}".format(
- program_name_map[program_id].name,
- city,
- "它"~program_name_map[program_id].desc
- ),
- "{0}程序,在{1}人气最高哦。{2}".format(
- program_name_map[program_id].name,
- city,
- "它"~program_name_map[program_id].desc
- ),
- "{0}程序,在{1}很受欢迎呢。{2}".format(
- program_name_map[program_id].name,
- city,
- "它"~program_name_map[program_id].desc
- ),
- "{0}程序,是全网人气最高的程序哦。{1}".format(
- program_name_map[program_id].name,
- "它"~program_name_map[program_id].desc
- ),
- "{0}程序,在全网都很受欢迎呢。{1}".format(
- program_name_map[program_id].name,
- "它"~program_name_map[program_id].desc
- )
- ] | random }}
- {% else %}
- 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
- {% endif %}
- """
- # 定制模板
- WASH_CUSTOM_KEY = "broadcast-template-jinja:multi_card:wash:time_custom"
- value_w_made ="""
- {% set program_id = program_id | string | trim %}
- {% set prog = program_name_map.get(program_id) %}
- {% if prog %}
- {% if feature_name != "" %}
- {% set commands_text = commands_params(changed_params) %}
- {% if commands_text != "" %}
- {{ [[
- "{0}程序,是你{1}的程序呢".format(
- program_name_map[program_id].name,
- feature_name
- ),
- "发现你{0}{1}程序呢".format(
- feature_name,
- program_name_map[program_id].name
- ),
- "这是你{0}的程序呢".format(
- feature_name
- )
- ] | random,
- [
- commands_text ~ "的习惯参数也帮你记着了。",
- commands_text ~ "的习惯参数也帮你准备好了。",
- "AI守护帮你设置了习惯的" ~ commands_text ~ "。"
- ] | random] | reject("equalto", "") | join(",") }}
- {% else %}
- {{ [
- "{0}程序,是你{1}的程序呢,{2}".format(
- program_name_map[program_id].name,
- feature_name,
- "它" ~ program_name_map[program_id].desc
- ),
- "发现你{0}{1}程序呢。{2}".format(
- feature_name,
- program_name_map[program_id].name,
- "它" ~ program_name_map[program_id].desc
- ),
- "这是你{0}的程序呢,{1}".format(
- feature_name,
- "它" ~ program_name_map[program_id].desc
- )
- ] | random }}
- {% endif %}
- {% else %}
- 帮你准备了{{program_name_map[program_id].name}}程序,它{{program_name_map[program_id].desc}}
- {% endif %}
- {% else %}
- 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
- {% endif %}
- """
- # 天气模板
- WASH_WEATHER_KEY = "broadcast-template-jinja:multi_card:wash:time_weather"
- value_w_weather = """
- {{ [
- [
- "今天阴天,晾晒衣物会比较慢,帮你打开洗烘联动啦。",
- "今天阴天,晾晒衣物会比较慢,洗烘联动更省心哦。"
- ] | random if weather == '阴' else
- [
- "今天预报有{},不适合室外晾晒,帮你打开洗烘联动啦。".format(weather),
- "今天预报有{},不适合室外晾晒,洗烘联动更省心哦。".format(weather)
- ] | random if weather in ['小雨','中雨','大雨','暴雨'] else
- [
- "今天预报有{},不适合室外晾晒,帮你打开洗烘联动啦。".format(weather),
- "今天预报有{},不适合室外晾晒,洗烘联动更省心哦。".format(weather)
- ] | random if weather in ['小雪','中雪','大雪','暴雪'] else
- [
- "今天有{},室外晾晒容易导致二次污染,帮你打开洗烘联动啦。".format(weather),
- "今天有{},室外晾晒容易导致二次污染,洗烘联动更省心哦。".format(weather)
- ] | random if weather in ['雾霾','中度雾霾','重度雾霾','沙尘暴'] else
- [
- "今天天气不太好,帮你打开洗烘联动啦。",
- "今天天气不太好,洗烘联动更省心哦。"
- ] |random
- ] | first }}
- """
- # 季节模板——当季推荐
- WASH_SEASON_IN_KEY = "broadcast-template-jinja:multi_card:wash:time_season_in"
- value_w_season_in = """
- {% set program_id = program_id | string | trim %}
- {% set prog = program_name_map.get(program_id) %}
- {% if prog %}
- {% set program_name = program_name_map[program_id].name %}
- {{ [
- "立春快乐,春风送暖,是时候准备好轻盈的春装了。{}".format(
- "AI守护提醒您记得拉好拉链,将"~program_name~"内外翻转后洗涤,不用使用柔顺剂哦。"
- if program_name == '冲锋衣' else "")
- if time_term == '立春' else
- "立夏时节,暑气渐长。轻薄的夏日穿搭该拿出来洗洗啦。{}".format(
- "AI守护提醒您使用"~program_name~"专用洗剂,洗护效果更佳哦。"
- if program_name == '丝绸' else "")
- if time_term == '立夏' else
- "立秋已至,暑去凉来。是时候洗净压箱底的秋装,准备添衣了。{}".format(
- "AI守护提醒您记得拉好拉链,将"~program_name~"内外翻转后洗涤,不用使用柔顺剂哦。"
- if program_name == '冲锋衣' else "")
- if time_term == '立秋' else
- "立冬安康,寒潮将至。保暖的冬装该登场了。{}".format(
- "AI守护提醒您使用"~program_name~"专用洗剂,洗护效果更佳哦。" if program_name == '羊毛' else
- "AI守护提醒您"~program_name~"衣物洗前记得拉好拉链,内外翻转后洗涤。" if program_name =="羽绒" else
- "")
- if time_term == '立冬'
- ]| first}}
- {% else %}
- 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
- {% endif %}
- """
- # 季节模板——收纳推荐
- WASH_SEASON_STORAGE_KEY = "broadcast-template-jinja:multi_card:wash:time_season_storage"
- value_w_season_storage = """
- {% set program_id = program_id | string | trim %}
- {% set prog = program_name_map.get(program_id) %}
- {% if prog %}
- {% set program_name = program_name_map[program_id].name %}
- {{ [
- "立春时节,是时候洗好厚重衣物收纳起来啦。{}".format(
- "AI守护提醒您使用"~program_name~"专用洗剂,洗护效果更佳哦。" if program_name == '羊毛' else
- "AI守护提醒您羽绒衣物洗前记得拉好拉链,内外翻转后洗涤。" if program_name =="羽绒" else
- "")
- if time_term == '立春' else
- "立夏潮闷,春装收纳正当时。{}".format(
- "AI守护提醒您记得拉好拉链,将"~program_name~"内外翻转后洗涤,不用使用柔顺剂哦。"
- if program_name == '冲锋衣' else "")
- if time_term == '立夏' else
- "立秋换季,夏装可以功成身退啦。{}".format(
- "AI守护提醒您使用"~program_name~"专用洗剂,洗护效果更佳哦。"
- if program_name == '丝绸' else "")
- if time_term == '立秋' else
- "立冬时节,薄款秋装该收起来啦。{}".format(
- "AI守护提醒您记得拉好拉链,将"~program_name~"内外翻转后洗涤,不用使用柔顺剂哦。"
- if program_name == '冲锋衣' else "")
- if time_term == '立冬'
- ]| first}}
- {% else %}
- 抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。
- {% endif %}
- """
- # 关怀模板
- SEASON_CARE_KEY = "broadcast-template-jinja:multi_card:wash:time_care"
- value_w_care = """
- {% set name_wash = "夜间洗" %}
- {% set name_wind = "延取防皱" %}
- {% set night_wash = washNight if washNight !="0" else ""%}
- {% set wind_cruise = WFreeCn if WFreeCn !="0" else ""%}
- {{ [
- ["夜深了,AI守护已为您开启{0}和{1}啦,衣服就放心交给我吧。".format(name_wash, name_wind) ,
- "时间有点晚了,已为你开启{0}和{1},衣物久放也不闷。".format(name_wash, name_wind),
- "{0}已开启,静音洗衣,不扰眠。{1}为您守护衣物至天明。".format(name_wash, name_wind),
- "AI守护已开启{0}和{1},降噪洗护,防止衣物产生异味和褶皱。".format(name_wash, name_wind)
- ] |random if night_wash and wind_cruise else
- ["夜深了,AI守护已为您开启{}功能,静音洗衣不扰眠。".format(name_wash),
- "时间有点晚了,我会静悄悄的。",
- "夜间洗衣,AI守护已自动开启静音洗涤,守护您的安宁。",
- "夜洗功能已开启,洗衣机会低噪运行,让您静享安宁。"
- ] |random if night_wash else
- ["夜深了,AI守护已帮你打开{},智能保管衣物。".format(name_wind) ,
- "时间有点晚了,{}功能会帮你守护衣物到天明。".format(name_wind),
- "夜间洗衣,帮你开启{}了,衣物久放也不用怕。".format(name_wind),
- "{}准备好了,洗完会帮你智能保管衣物。".format(name_wind)
- ]|random if wind_cruise else
- ""
- ] | first }}
- """
- # 环保模板
- WASH_ENV_KEY = "broadcast-template-jinja:multi_card:wash:time_environmental"
- value_w_environmental = """
- AI守护提醒您,马上就到错峰用电时间段了,建议您预约洗护。
- """
- # 健康模板
- WASH_HEALTH_KEY = "broadcast-template-jinja:multi_card:wash:time_health"
- value_w_health = """
- {% set program_id = program_id | string | trim %}
- {% set prog = program_name_map.get(program_id) %}
- {% if prog %}
- {% set health_name = program_name_map[program_id].name %}
- {{
- "您的洗衣筒需要清洁了,请及时使用{}程序清洗。".format(health_name) if remainderNum |int <= 0 else
- ""
- }}
- {%- endif -%}
- """
- # 默认模板+筒自洁
- WASH_BASIC_KEY = "broadcast-template-jinja:multi_card:wash:time_basic"
- value_w_basic = """
- {% set program_id = program_id | string | trim %}
- {% set program_data = program_name_map.get(program_id)%}
- {% set program_desc = program_data.desc if program_data else '' %}
- {% set program_name = program_data.name if program_data else '' %}
- {%set commands_text = commands_params(changed_params)%}
- {% if program_name %}
- {% if program_id == "13" %}
- {% set remainderNum = remainderNum | int %}
- {{
- "您的洗衣筒还很干净,暂时不需要清洁。" if remainderNum|int > 3 else
- "洗衣机快到清洁时间啦,先囤好筒洗剂,再洗几次衣服就该给内筒做清洁啦" if remainderNum |int <=3 and remainderNum |int >= 1 else
- ""
- }}
- {% elif commands_text %}
- {{
- ["AI守护为你准备好了,{0}程序最常用的{1}哦。".format(program_name,commands_text),
- "发现你使用{0}程序时,喜欢调节{1}呢,帮你准备好了。".format(program_name,commands_text),
- "{0}程序,已按照你的习惯备好,{1}直接启动就可以啦。".format(program_name,commands_text),
- "AI守护为你贴心定制 {0}程序,{1}已就绪。".format(program_name,commands_text),
- "根据你的使用习惯,{0} 已调整为{1}".format(program_name,commands_text)
- ]|random
- }}
- {% elif program_desc %}
- {{ "{0}程序{1}".format(program_name, program_desc) }}
- {% endif %}
- {% else %}
- {{
- [
- "AI守护会持续守护您的衣物健康。",
- "AI守护会根据衣物情况,自动帮你匹配最优洗护方案哦。",
- "衣服交给我你就放心吧。"
- ]|random
- }}
- {% endif %}
- """
- #通用模板
- write_jinja(WASH_COMMON_KEY, value_w_common, notify=True)
- #通用人气模板
- write_jinja(WASH_POPULAR_KEY, value_w_popular, notify=True)
- #通用定制模板
- write_jinja(WASH_CUSTOM_KEY, value_w_made, notify=True)
- #通用天气模板
- write_jinja(WASH_WEATHER_KEY, value_w_weather, notify=True)
- #通用当季模板
- write_jinja(WASH_SEASON_IN_KEY, value_w_season_in, notify=True)
- #通用换季模板
- write_jinja(WASH_SEASON_STORAGE_KEY, value_w_season_storage, notify=True)
- #通用关怀模板
- write_jinja(SEASON_CARE_KEY, value_w_care, notify=True)
- #通用环保模板
- write_jinja(WASH_ENV_KEY, value_w_environmental, notify=True)
- #通用健康模板
- write_jinja(WASH_HEALTH_KEY, value_w_health, notify=True)
- #通用默认模板
- write_jinja(WASH_BASIC_KEY, value_w_basic, notify=True)
|