From 69360a751954de3c3f55af427f702005ae42c50e Mon Sep 17 00:00:00 2001 From: Kenta420 Date: Wed, 9 Apr 2025 10:39:43 +0700 Subject: [PATCH] THAI: Added v3 support banner from sheet --- inter/tha/menu/lang.tsv | 38 +- .../xml/multi/v3/menu_new_layout_gen_v3.py | 75 ++- xml/v3/menu_new_layout_gen_v3.py | 527 +++++++++--------- 3 files changed, 360 insertions(+), 280 deletions(-) diff --git a/inter/tha/menu/lang.tsv b/inter/tha/menu/lang.tsv index 58b76792..81d2be3e 100644 --- a/inter/tha/menu/lang.tsv +++ b/inter/tha/menu/lang.tsv @@ -153,15 +153,16 @@ 000117 Perfect [(100%)###Font=KanitLight,Size=13] พอดี [(100%)###Font=KanitLight,Size=13] 原味 Perfect အချိုပုံမှန် 000118 Extra [(120%)###Font=KanitLight,Size=13] จึ้ง [(120%)###Font=KanitLight,Size=13] 非常甜 Extra အချိုများ 000119 Sweetest [(140%)###Font=KanitLight,Size=13] สุขิต [(140%)###Font=KanitLight,Size=13] 超级甜 Sweetest အချိုဆုံး -000120 1 Shot 1 ช็อต 单份浓缩 -000121 2 Shot [(+15฿)###Font=KanitLight,Size=13] 2 ช็อต [(+15฿)###Font=KanitLight,Size=13] 双份浓缩 -000122 3 Shot [(+25฿)###Font=KanitLight,Size=13] 3 ช็อต [(+25฿)###Font=KanitLight,Size=13] 三份浓缩 -000123 Cocoa X2 โกโก้ X2 可可 X2 -000124 Cocoa X3 โกโก้ X3 可可 X3 -000125 Cocoa X10 โกโก้ X10 可可 X10 +000120 1 Shot 1 ช็อต 单份浓缩 +000121 2 Shot [(+15฿)###Font=KanitLight,Size=13] 2 ช็อต [(+15฿)###Font=KanitLight,Size=13] 双份浓缩 +000122 3 Shot [(+25฿)###Font=KanitLight,Size=13] 3 ช็อต [(+25฿)###Font=KanitLight,Size=13] 三份浓缩 +000123 Cocoa X2 โกโก้ X2 可可 X2 +000124 Cocoa X3 โกโก้ X3 可可 X3 +000125 Cocoa X10 โกโก้ X10 可可 X10 000126 Light Milk ไลท์ 低脂牛奶 နို့နည်း 000127 Normal ปกติ 全脂牛奶 ပုံမှန် 000128 Rich ข้นมัน 甜炼乳 နို့ပြည့် +000128 Rich ข้นมัน 甜炼乳 နို့ပြည့် 000129 Ovaltine X2 โอวัลติน X2 阿华田 X2 Ovaltine X2 000130 Ovaltine X3 โอวัลติน X3 阿华田 X3 Ovaltine X3 000131 Ovaltine X10 โอวัลติน X10 阿华田 X10 Ovaltine X10 @@ -214,17 +215,25 @@ Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center Font=Kanit,Type=Light,Size=64,Color=0x513C2F,Align=Center Font=Kanit,Type=Medium,Size=64,Color=0x513C2F,Align=Center Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center -001201 blended fruit ผลไม้ปั่น +001201 blended fruit ผลไม้ปั่น blended fruit blended fruit blended fruit + Font=Montserrat,Type=Bold,Size=64,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Light,Size=64,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Medium,Size=64,Color=0x513C2F,Align=Center Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center Font=Montserrat,Type=Bold,Size=64,Color=0x513C2F,Align=Center -001202 Press to open the door กดเพื่อเปิดประตู -001203 Checking Cup ตรวจสอบแก้ว +001202 Press to open the door กดเพื่อเปิดประตู +001203 Checking Cup ตรวจสอบแก้ว +001204 Insert cup ใส่แก้วไว้ที่ฐานแก้ว +001205 Closing the door กำลังปิดประตู +001206 Blend now ดำเนินการปั่นผลไม้ + + + + Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0x746253,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0x746253,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0x746254,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center Font=Kanit,Type=Regular,Size=36,Color=0xFFFFFF,Align=Center -001204 Cancel ยกเลิก 取消 Cancel ပယ်ပါ - - - - +001210 Cancel ยกเลิก 取消 Cancel ပယ်ပါ + + + + Font=Roboto,Type=Regular,Size=48,Color=0x513C2F Font=Roboto,Type=Regular,Size=48,Color=0x513C2F Font=Roboto,Type=Regular,Size=48,Color=0x513C2F Font=Roboto,Type=Regular,Size=48,Color=0x513C2F Font=Roboto,Type=Regular,Size=48,Color=0x513C2F 001501 We serve hot drinks in a heat resistant\n2-layer paper cup. We serve cold drinks in\na food grade plastic cup. เต่าบินเสิร์ฟเครื่องดื่มร้อน ด้วยแก้วกระดาษ 2 ชั้น\nกันความร้อน และ เครื่องดื่มเย็นในแก้วพลาสติกมาตรฐาน 我们用耐热双层纸杯装热饮,食品级塑胶杯装冷饮。 We serve hot drinks in a heat resistant\n2-layer paper cup. We serve cold drinks in\na food grade plastic cup. အပူဒဏ်ခံနိုင်သော\n၂လွှာ စက္ကူခွက်ဖြင့် ရေနွေးပူပူများကို ကျွေးပါသည်။ အအေးများကို \na အစားအသောက်တန်း ပလတ်စတစ်ခွက်ဖြင့် ကျွေးပါသည်။ 001502 We care about our coffee and only use the\nbest quality Arabica beans เราคัดสรรเมล็ดกาแฟคุณภาพสูงที่สุด และใช้เมล็ดกาแฟอาราบิก้า 100% 我们注重咖啡品质,仅使用顶级阿拉比卡咖啡豆。 We care about our coffee and only use the\nbest quality Arabica beans ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကော်ဖီကို ဂရုစိုက်ပြီး အရည်အသွေးအကောင်းဆုံး အာရေဗီကာစေ့များကိုသာ အသုံးပြုပါသည်။ @@ -312,6 +321,7 @@ Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 Font=Kanit,Type=Regular,Size=16,Color=0x513C2F,LineHeight=18 002070 Not sweet ไม่หวาน 无糖 Not sweet မချိုဘူး။ +002070 Not sweet ไม่หวาน 无糖 Not sweet မချိုဘူး။ 002071 Little จุบจิบ 少糖 Little အချိုပေါ့ 002072 Less น้อย 微糖 Less အချိုနည်း 002073 Perfect พอดี 原味 Perfect အချိုပုံမှန် diff --git a/inter/tha/xml/multi/v3/menu_new_layout_gen_v3.py b/inter/tha/xml/multi/v3/menu_new_layout_gen_v3.py index fd4322ee..c03a1cc9 100644 --- a/inter/tha/xml/multi/v3/menu_new_layout_gen_v3.py +++ b/inter/tha/xml/multi/v3/menu_new_layout_gen_v3.py @@ -310,6 +310,33 @@ out_xml('\t\t\n') out_xml('\t\t\n\n') + def GenBanner(type, thai_media, eng_media, event_on_click_script, start_date_time, end_date_time, state_var): + str_con = [] + if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', start_date_time.strip()): + str_con.append(f'DateTimeStart="{start_date_time.strip()}"') + if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', end_date_time.strip()): + str_con.append(f'DateTimeEnd="{end_date_time.strip()}"') + + if re.match(r'^\w.*', state_var.strip()): + str_con.append(f'Var={state_var.strip()},') + + out_xml('\t\t\n') + out_xml('\t\t\t Flag( '+ ",".join(str_con) + ' ) \n') + out_xml('\t\t\t ' + type + ' \n') + out_xml('\t\t\t\n') + out_xml('\t\t\t\teval(\n') + out_xml('\t\t\t\t\tIf show_eng = "true" Then\n') + out_xml('\t\t\t\t\t\tVar return = ' + eng_media + '\n') + out_xml('\t\t\t\t\tElse\n') + out_xml('\t\t\t\t\t\tVar return = ' + thai_media + '\n') + out_xml('\t\t\t\t\tEndIf\n') + out_xml('\t\t\t\t)\n') + out_xml('\t\t\t\n') + out_xml('\t\t\t\n') + out_xml('\t\t\t\t' + event_on_click_script.replace('\\n', '\n').replace('\\t', '\t') + '\n') + out_xml('\t\t\t\n') + out_xml('\t\t\n') + idx_lang_myanmar = 6 idx_lang_malay = 5 idx_lang_japan = 4 @@ -409,26 +436,38 @@ out_xml( '\t;' + spl[0] + '\r\n') continue - [hot_pd_v1, hot_pd_v2] = spl[ idx_name][ idx_hot_product_code].split(',') - [cold_pd_v1, cold_pd_v2] = spl[ idx_name][ idx_cold_product_code].split(',') - [blend_pd_v1, blend_pd_v2] = spl[ idx_name][ idx_blend_product_code].split(',') + if spl[idx_desc][idx_lang_eng].startswith("BANNER"): + date_time_start = spl[idx_name][idx_date_time_start] + date_time_end = spl[idx_name][idx_date_time_end] + state_var = spl[idx_name][idx_product_var] - date_time_start = spl[idx_name][idx_date_time_start] - date_time_end = spl[idx_name][idx_date_time_end] - product_var = spl[idx_name][idx_product_var] - try: - default_topping = spl[idx_name][idx_of_default_toppimg] - except: - default_topping = "0" - print(f"spl[{idx_name}] =", spl[idx_name]) - print(f"Expected indices: date_time_start:{date_time_start}, date_time_end:{date_time_end}, product_var:{product_var} , default_topping={default_topping}") + type = spl[idx_desc][idx_lang_thai] + eng_media = spl[idx_img][idx_lang_eng] + thai_media = spl[idx_img][idx_lang_thai] + on_click_script = spl[idx_name][idx_lang_thai] - for [hot_pd, cold_pd, blend_pd] in [[hot_pd_v1, cold_pd_v1, blend_pd_v1], [hot_pd_v2, cold_pd_v2, blend_pd_v2]]: - if hot_pd == '-' and cold_pd == '-' and blend_pd == '-': - continue - else: - print(f"Gen ==> hot={hot_pd}, cold={cold_pd}, blend={blend_pd}") - GenMenuV3(hot_pd, cold_pd, blend_pd, date_time_start, date_time_end, product_var, default_topping) + GenBanner(type, thai_media, eng_media, on_click_script, date_time_start, date_time_end, state_var) + else: + [hot_pd_v1, hot_pd_v2] = spl[ idx_name][ idx_hot_product_code].split(',') + [cold_pd_v1, cold_pd_v2] = spl[ idx_name][ idx_cold_product_code].split(',') + [blend_pd_v1, blend_pd_v2] = spl[ idx_name][ idx_blend_product_code].split(',') + + date_time_start = spl[idx_name][idx_date_time_start] + date_time_end = spl[idx_name][idx_date_time_end] + product_var = spl[idx_name][idx_product_var] + try: + default_topping = spl[idx_name][idx_of_default_toppimg] + except: + default_topping = "0" + print(f"spl[{idx_name}] =", spl[idx_name]) + print(f"Expected indices: date_time_start:{date_time_start}, date_time_end:{date_time_end}, product_var:{product_var} , default_topping={default_topping}") + + for [hot_pd, cold_pd, blend_pd] in [[hot_pd_v1, cold_pd_v1, blend_pd_v1], [hot_pd_v2, cold_pd_v2, blend_pd_v2]]: + if hot_pd == '-' and cold_pd == '-' and blend_pd == '-': + continue + else: + print(f"Gen ==> hot={hot_pd}, cold={cold_pd}, blend={blend_pd}") + GenMenuV3(hot_pd, cold_pd, blend_pd, date_time_start, date_time_end, product_var, default_topping) out_xml('\t\t\n\n') out_xml('\n') diff --git a/xml/v3/menu_new_layout_gen_v3.py b/xml/v3/menu_new_layout_gen_v3.py index 84c5a6de..213248fc 100644 --- a/xml/v3/menu_new_layout_gen_v3.py +++ b/xml/v3/menu_new_layout_gen_v3.py @@ -87,229 +87,25 @@ count = 0 pd_code_available = '##-##-##-####' - def GenMenuV3(spl): - out_xml( '\t\t; ==================> Len = ' + str(len(spl)) + '\n') - menu_img = spl[7] - out_xml( '\t\t; '+ spl[4] + ' ' + spl[5] + ' ' + spl[6]+ ' \n') - str_con = "" - str_con_var = "" - if spl[4] != '-': - str_con += spl[4] + '.Button,' - if spl[5] != '-': - str_con += spl[5] + '.Button,' - if spl[6] != '-': - str_con += spl[6] + '.Button,' - - if spl[4] != '-': - str_con_var += spl[4] + '-' - if spl[5] != '-': - str_con_var += spl[5] + '-' - if spl[6] != '-': - str_con_var += spl[6] + '-' - - str_con_var = str_con_var.replace("-", "") - - if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', spl[12].strip()): - str_con += f'DateTimeStart="{spl[12].strip()}",' - if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', spl[13].strip()): - str_con += f'DateTimeEnd="{spl[13].strip()}",' - - if re.match(r'^\w.*', spl[14].strip()): - str_con += f'Var={spl[14].strip()},' - - if recommend_page: - str_con += "Disable=Invisible," - - str_con += "$Sum" + str_con_var - - out_xml('\t\t\n') - out_xml('\t\t Flag( '+ str_con + ') \n') - - pd_code_1 = spl[4] - pd_stage1 = '$' + spl[4] + '.Button' - if spl[4] == "-" or len(spl[4]) == 0 : - pd_code_1 = pd_code_available - pd_stage1 = '"Disable2"' - - pd_code_2 = spl[5] - pd_stage2 = '$' + spl[5] + '.Button' - if spl[5] == "-" or len(spl[5]) == 0: - pd_code_2 = pd_code_available - pd_stage2 = '"Disable2"' - - pd_code_3 = spl[6] - pd_stage3 = '$' + spl[6] + '.Button' - if spl[6] == "-" or len(spl[6]) == 0: - pd_code_3 = pd_code_available - pd_stage3 = '"Disable2"' - - if menu_img.startswith("#"): - out_xml( '\t\t '+ menu_img[1:] + '_resting \n') - out_xml( '\t\t '+ menu_img[1:] + '_press \n') - out_xml( '\t\t '+ menu_img[1:] + '_disable \n') - else: - out_xml( '\t\t "' + new_default_dir + '/'+ menu_img +'" \n') - out_xml( '\t\t "' + new_default_dir_press + '/'+ menu_img +'" \n') - out_xml( '\t\t "' + new_default_dir_disable + '/'+ menu_img +'" \n') - - if spl[1] != "None": - out_xml('\t\t\n') - out_xml('\t\t\teval(\n') - out_xml('\t\t\t\tIf show_eng = "true" Then\n') - out_xml('\t\t\t\t\tVar return = "' + spl[1] + '"\n') - out_xml('\t\t\t\tElse\n') - out_xml('\t\t\t\t\tVar return = "' + spl[0] + '"\n') - out_xml('\t\t\t\tEndIf\n') - out_xml('\t\t\t)\n') - out_xml('\t\t\n') - out_xml('\t\t\n') - out_xml('\t\t\teval(\n') - out_xml('\t\t\t\tIf show_eng = "true" Then\n') - out_xml('\t\t\t\t\tVar return = "' + spl[3] + '"\n') - out_xml('\t\t\t\tElse\n') - out_xml('\t\t\t\t\tVar return = "' + spl[2] + '"\n') - out_xml('\t\t\t\tEndIf\n') - out_xml('\t\t\t)\n') - out_xml('\t\t\n') - - out_xml('\t\t ' + pd_stage1 + ' \n') - out_xml('\t\t ' + pd_stage2 + ' \n') - out_xml('\t\t ' + pd_stage3 + ' \n') - out_xml('\t\t StringFmt( $' + pd_code_1 + '.Price , DisplayFormat, PreScaleConvertShow) \n') - out_xml('\t\t StringFmt( $' + pd_code_2 + '.Price , DisplayFormat, PreScaleConvertShow) \n') - out_xml('\t\t StringFmt( $' + pd_code_3 + '.Price , DisplayFormat, PreScaleConvertShow) \n') - out_xml('\t\t\n') - out_xml('\t\t\teval(\n') - out_xml('\t\t\t\tIf ICE_PROCESS_STATUS = 2 Then\n') - out_xml('\t\t\t\t\tIf $Sum510201003951020200395102030039 = "Disable" Then\n') - out_xml('\t\t\t\t\t\tVar ice_tab_process_show = "Disable"\n') - out_xml('\t\t\t\t\tElse\n') - out_xml('\t\t\t\t\t\tVar ice_tab_process_show = "Enable"\n') - out_xml('\t\t\t\t\tEndIf\n') - out_xml('\t\t\t\tElse\n') - out_xml('\t\t\t\t\tVar ice_tab_process_show = "Invisible"\n') - out_xml('\t\t\t\tEndIf\n') - out_xml('\t\t\t\tVar return = ice_tab_process_show\n') - out_xml('\t\t\t)\n') - out_xml('\t\t\n') - out_xml('\t\t "ROOT/taobin_project/image/drink_option/ice_tab_unavalible.png" \n') - out_xml('\t\t "ROOT/taobin_project/image/drink_option/ice_tab_unavalible_dis.png" \n') - out_xml('\t\t\n') - if menu_img.startswith("#"): - out_xml( '\t\tVar PictureDrink = bn_oreo_vo_get1_full_path\r\n') - else: - out_xml( '\t\tVar PictureDrink = "' + new_default_dir2 + '" + \"' + menu_img + '\"\r\n') - out_xml('\t\t\tVar OpenFromXML = CurrentXMLFileName2\n') - out_xml('\t\t\tVar PriceD1 = $' + pd_code_1 + '.Price\n') - out_xml('\t\t\tVar PriceD2 = $' + pd_code_2 + '.Price\n') - out_xml('\t\t\tVar PriceD3 = $' + pd_code_3 + '.Price\n') - out_xml('\t\t\tVar PD_CODE1 = "' + pd_code_1 + '"\n') - out_xml('\t\t\tVar PD_CODE2 = "' + pd_code_2 + '"\n') - out_xml('\t\t\tVar PD_CODE3 = "' + pd_code_3 + '"\n') - out_xml('\t\t\tVar PD_STAGE_1 = ' + pd_stage1 + '\n') - out_xml('\t\t\tVar PD_STAGE_2 = ' + pd_stage2 + '\n') - out_xml('\t\t\tVar PD_STAGE_3 = ' + pd_stage3 + '\n') - - if len( spl) > 11: - if spl[4] != '-': - menu_xml_var = 'xmlpro( '+spl[4]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' - elif spl[6] != '-': - menu_xml_var = 'xmlpro( '+spl[6]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' - else: - menu_xml_var = 'xmlpro( '+spl[5]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' - - - if len( menu_xml_var) > 0: - out_xml( '\t\t\tVar OverlayMenuFilter !assigned ' + menu_xml_var + '\n') - out_xml( '\t\t\tDEBUGVAR OverlayMenuFilter\n') - - - - - out_xml( '\t\t\tVar SelectCountDrinkType = 0\n') - out_xml( '\t\t\tVar DefaultDrinkType = 0\n') - - out_xml( '\t\t\tIf PD_STAGE_1 = "Enable" Then\n') - out_xml( '\t\t\t\tVar SelectCountDrinkType = SelectCountDrinkType + 1\n') - out_xml( '\t\t\t\tVar DefaultDrinkType = 1\n') - out_xml( '\t\t\tEndIf\n') - - - out_xml( '\t\t\tIf PD_STAGE_2 = "Enable" Then\n') - out_xml( '\t\t\t\tVar SelectCountDrinkType = SelectCountDrinkType + 1\n') - out_xml( '\t\t\t\tVar DefaultDrinkType = 2\n') - out_xml( '\t\t\tEndIf\n') - - - out_xml( '\t\t\tIf PD_STAGE_3 = "Enable" Then\n') - out_xml( '\t\t\t\tVar SelectCountDrinkType = SelectCountDrinkType + 1\n') - out_xml( '\t\t\t\tVar DefaultDrinkType = 3\n') - out_xml( '\t\t\tEndIf\n') - - - - out_xml( '\t\t\tIf PD_STAGE_2 = "Enable" Then\n') - #out_xml( \t'\t\t\tVar PD_STAGE_2 = "Enable"\n') - out_xml( '\t\t\t\tTopping "Load" "'+ spl[5].replace("-alter", "") +'"\n') - out_xml( '\t\t\tElse\n') - out_xml( '\t\t\t\tIf PD_STAGE_1 = "Enable" Then\n') - #out_xml( \t'\t\t\t\tVar PD_STAGE_1 = "Enable"\n') - out_xml( '\t\t\t\tTopping "Load" "'+ spl[4].replace("-alter", "") +'"\n') - out_xml( '\t\t\t\tElse\n') - #out_xml( \t'\t\t\t\tVar PD_STAGE_3 = "Enable"\n') - out_xml( '\t\t\t\tTopping "Load" "'+ spl[6].replace("-alter", "") +'"\n') - out_xml( '\t\t\t\tEndIf\n') - out_xml( '\t\t\tEndIf\n') - - - - out_xml( '\t\t\tVar menu_name_eng_hot = $' + pd_code_1 + '.NameE\n') - out_xml( '\t\t\tVar menu_desc_eng_hot = $' + pd_code_1 + '.descriptionE\n') - out_xml( '\t\t\tVar menu_name_thai_hot = $' + pd_code_1 + '.Name\n') - out_xml( '\t\t\tVar menu_desc_thai_hot = $' + pd_code_1 + '.description\n') - out_xml( '\t\t\t\n') - out_xml( '\t\t\tVar menu_name_eng_cold = $' + pd_code_2 + '.NameE\n') - out_xml( '\t\t\tVar menu_desc_eng_cold = $' + pd_code_2 + '.descriptionE\n') - out_xml( '\t\t\tVar menu_name_thai_cold = $' + pd_code_2 + '.Name\n') - out_xml( '\t\t\tVar menu_desc_thai_cold = $' + pd_code_2 + '.description\n') - out_xml( '\t\t\t\n') - out_xml( '\t\t\tVar menu_name_eng_blender = $' + pd_code_3 + '.NameE\n') - out_xml( '\t\t\tVar menu_desc_eng_blender = $' + pd_code_3 + '.descriptionE\n') - out_xml( '\t\t\tVar menu_name_thai_blender = $' + pd_code_3 + '.Name\n') - out_xml( '\t\t\tVar menu_desc_thai_blender = $' + pd_code_3 + '.description\n') - - - - - out_xml( '\t\t\t\n') - out_xml( '\t\t\tDEBUGVAR PD_STAGE_1\n') - out_xml( '\t\t\tDEBUGVAR PD_STAGE_2\n') - out_xml( '\t\t\tDEBUGVAR PD_STAGE_3\n') - out_xml( '\t\t\tVar SelectDrinkType = 0\n') - - out_xml( '\t\t\t'+ button_add_string +'\n') - out_xml( '\t\t\tOpen "ROOT/taobin_project/xml/page_topping_select5.xml"\n') - out_xml('\t\t\n') - out_xml('\t\t\n\n') - - if spl[8] != '-' or spl[9] != '-' or spl[10] != '-': + def GenMenuV3(spl): + out_xml( '\t\t; ==================> Len = ' + str(len(spl)) + '\n') menu_img = spl[7] - out_xml( '\t\t; '+ spl[8] + ' ' + spl[9] + ' ' + spl[10]+ ' \n') + out_xml( '\t\t; '+ spl[4] + ' ' + spl[5] + ' ' + spl[6]+ ' \n') str_con = "" str_con_var = "" - if spl[8] != '-': - str_con += spl[8] + '.Button,' - if spl[9] != '-': - str_con += spl[9] + '.Button,' - if spl[10] != '-': - str_con += spl[10] + '.Button,' + if spl[4] != '-': + str_con += spl[4] + '.Button,' + if spl[5] != '-': + str_con += spl[5] + '.Button,' + if spl[6] != '-': + str_con += spl[6] + '.Button,' - if spl[8] != '-': - str_con_var += spl[8] + '-' - if spl[9] != '-': - str_con_var += spl[9] + '-' - if spl[10] != '-': - str_con_var += spl[10] + '-' + if spl[4] != '-': + str_con_var += spl[4] + '-' + if spl[5] != '-': + str_con_var += spl[5] + '-' + if spl[6] != '-': + str_con_var += spl[6] + '-' str_con_var = str_con_var.replace("-", "") @@ -329,21 +125,21 @@ out_xml('\t\t\n') out_xml('\t\t Flag( '+ str_con + ') \n') - pd_code_1 = spl[8] - pd_stage1 = '$' + spl[8] + '.Button' - if spl[8] == "-" or len(spl[8]) == 0 : + pd_code_1 = spl[4] + pd_stage1 = '$' + spl[4] + '.Button' + if spl[4] == "-" or len(spl[4]) == 0 : pd_code_1 = pd_code_available pd_stage1 = '"Disable2"' - pd_code_2 = spl[9] - pd_stage2 = '$' + spl[9] + '.Button' - if spl[9] == "-" or len(spl[9]) == 0: + pd_code_2 = spl[5] + pd_stage2 = '$' + spl[5] + '.Button' + if spl[5] == "-" or len(spl[5]) == 0: pd_code_2 = pd_code_available pd_stage2 = '"Disable2"' - pd_code_3 = spl[10] - pd_stage3 = '$' + spl[10] + '.Button' - if spl[10] == "-" or len(spl[10]) == 0: + pd_code_3 = spl[6] + pd_stage3 = '$' + spl[6] + '.Button' + if spl[6] == "-" or len(spl[6]) == 0: pd_code_3 = pd_code_available pd_stage3 = '"Disable2"' @@ -415,12 +211,12 @@ out_xml('\t\t\tVar PD_STAGE_3 = ' + pd_stage3 + '\n') if len( spl) > 11: - if spl[8] != '-': - menu_xml_var = 'xmlpro( '+spl[8]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' - elif spl[9] != '-': - menu_xml_var = 'xmlpro( '+spl[9]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' + if spl[4] != '-': + menu_xml_var = 'xmlpro( '+spl[4]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' + elif spl[6] != '-': + menu_xml_var = 'xmlpro( '+spl[6]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' else: - menu_xml_var = 'xmlpro( '+spl[10]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' + menu_xml_var = 'xmlpro( '+spl[5]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' if len( menu_xml_var) > 0: @@ -454,14 +250,14 @@ out_xml( '\t\t\tIf PD_STAGE_2 = "Enable" Then\n') #out_xml( \t'\t\t\tVar PD_STAGE_2 = "Enable"\n') - out_xml( '\t\t\t\tTopping "Load" "'+ spl[10].replace("-alter", "") +'"\n') + out_xml( '\t\t\t\tTopping "Load" "'+ spl[5].replace("-alter", "") +'"\n') out_xml( '\t\t\tElse\n') out_xml( '\t\t\t\tIf PD_STAGE_1 = "Enable" Then\n') #out_xml( \t'\t\t\t\tVar PD_STAGE_1 = "Enable"\n') - out_xml( '\t\t\t\tTopping "Load" "'+ spl[8].replace("-alter", "") +'"\n') + out_xml( '\t\t\t\tTopping "Load" "'+ spl[4].replace("-alter", "") +'"\n') out_xml( '\t\t\t\tElse\n') #out_xml( \t'\t\t\t\tVar PD_STAGE_3 = "Enable"\n') - out_xml( '\t\t\t\tTopping "Load" "'+ spl[9].replace("-alter", "") +'"\n') + out_xml( '\t\t\t\tTopping "Load" "'+ spl[6].replace("-alter", "") +'"\n') out_xml( '\t\t\t\tEndIf\n') out_xml( '\t\t\tEndIf\n') @@ -496,19 +292,254 @@ out_xml('\t\t\n') out_xml('\t\t\n\n') - def GenListMenu(): - for spl in menu_new_list: - #product_code = s - if spl[0] == "IGNORE": - continue + if spl[8] != '-' or spl[9] != '-' or spl[10] != '-': + menu_img = spl[7] + out_xml( '\t\t; '+ spl[8] + ' ' + spl[9] + ' ' + spl[10]+ ' \n') + str_con = "" + str_con_var = "" + if spl[8] != '-': + str_con += spl[8] + '.Button,' + if spl[9] != '-': + str_con += spl[9] + '.Button,' + if spl[10] != '-': + str_con += spl[10] + '.Button,' - if spl[0].startswith("TAG"): - out_xml( '\t;' + spl[0] + '\r\n') - continue + if spl[8] != '-': + str_con_var += spl[8] + '-' + if spl[9] != '-': + str_con_var += spl[9] + '-' + if spl[10] != '-': + str_con_var += spl[10] + '-' - GenMenuV3(spl) + str_con_var = str_con_var.replace("-", "") - out_xml('\t\t; menu_new_list '+ str(len(menu_new_list))+'\n') - GenListMenu() + if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', spl[12].strip()): + str_con += f'DateTimeStart="{spl[12].strip()}",' + if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', spl[13].strip()): + str_con += f'DateTimeEnd="{spl[13].strip()}",' - out_xml('\n') + if re.match(r'^\w.*', spl[14].strip()): + str_con += f'Var={spl[14].strip()},' + + if recommend_page: + str_con += "Disable=Invisible," + + str_con += "$Sum" + str_con_var + + out_xml('\t\t\n') + out_xml('\t\t Flag( '+ str_con + ') \n') + + pd_code_1 = spl[8] + pd_stage1 = '$' + spl[8] + '.Button' + if spl[8] == "-" or len(spl[8]) == 0 : + pd_code_1 = pd_code_available + pd_stage1 = '"Disable2"' + + pd_code_2 = spl[9] + pd_stage2 = '$' + spl[9] + '.Button' + if spl[9] == "-" or len(spl[9]) == 0: + pd_code_2 = pd_code_available + pd_stage2 = '"Disable2"' + + pd_code_3 = spl[10] + pd_stage3 = '$' + spl[10] + '.Button' + if spl[10] == "-" or len(spl[10]) == 0: + pd_code_3 = pd_code_available + pd_stage3 = '"Disable2"' + + if menu_img.startswith("#"): + out_xml( '\t\t '+ menu_img[1:] + '_resting \n') + out_xml( '\t\t '+ menu_img[1:] + '_press \n') + out_xml( '\t\t '+ menu_img[1:] + '_disable \n') + else: + out_xml( '\t\t "' + new_default_dir + '/'+ menu_img +'" \n') + out_xml( '\t\t "' + new_default_dir_press + '/'+ menu_img +'" \n') + out_xml( '\t\t "' + new_default_dir_disable + '/'+ menu_img +'" \n') + + if spl[1] != "None": + out_xml('\t\t\n') + out_xml('\t\t\teval(\n') + out_xml('\t\t\t\tIf show_eng = "true" Then\n') + out_xml('\t\t\t\t\tVar return = "' + spl[1] + '"\n') + out_xml('\t\t\t\tElse\n') + out_xml('\t\t\t\t\tVar return = "' + spl[0] + '"\n') + out_xml('\t\t\t\tEndIf\n') + out_xml('\t\t\t)\n') + out_xml('\t\t\n') + out_xml('\t\t\n') + out_xml('\t\t\teval(\n') + out_xml('\t\t\t\tIf show_eng = "true" Then\n') + out_xml('\t\t\t\t\tVar return = "' + spl[3] + '"\n') + out_xml('\t\t\t\tElse\n') + out_xml('\t\t\t\t\tVar return = "' + spl[2] + '"\n') + out_xml('\t\t\t\tEndIf\n') + out_xml('\t\t\t)\n') + out_xml('\t\t\n') + + out_xml('\t\t ' + pd_stage1 + ' \n') + out_xml('\t\t ' + pd_stage2 + ' \n') + out_xml('\t\t ' + pd_stage3 + ' \n') + out_xml('\t\t StringFmt( $' + pd_code_1 + '.Price , DisplayFormat, PreScaleConvertShow) \n') + out_xml('\t\t StringFmt( $' + pd_code_2 + '.Price , DisplayFormat, PreScaleConvertShow) \n') + out_xml('\t\t StringFmt( $' + pd_code_3 + '.Price , DisplayFormat, PreScaleConvertShow) \n') + out_xml('\t\t\n') + out_xml('\t\t\teval(\n') + out_xml('\t\t\t\tIf ICE_PROCESS_STATUS = 2 Then\n') + out_xml('\t\t\t\t\tIf $Sum510201003951020200395102030039 = "Disable" Then\n') + out_xml('\t\t\t\t\t\tVar ice_tab_process_show = "Disable"\n') + out_xml('\t\t\t\t\tElse\n') + out_xml('\t\t\t\t\t\tVar ice_tab_process_show = "Enable"\n') + out_xml('\t\t\t\t\tEndIf\n') + out_xml('\t\t\t\tElse\n') + out_xml('\t\t\t\t\tVar ice_tab_process_show = "Invisible"\n') + out_xml('\t\t\t\tEndIf\n') + out_xml('\t\t\t\tVar return = ice_tab_process_show\n') + out_xml('\t\t\t)\n') + out_xml('\t\t\n') + out_xml('\t\t "ROOT/taobin_project/image/drink_option/ice_tab_unavalible.png" \n') + out_xml('\t\t "ROOT/taobin_project/image/drink_option/ice_tab_unavalible_dis.png" \n') + out_xml('\t\t\n') + if menu_img.startswith("#"): + out_xml( '\t\tVar PictureDrink = bn_oreo_vo_get1_full_path\r\n') + else: + out_xml( '\t\tVar PictureDrink = "' + new_default_dir2 + '" + \"' + menu_img + '\"\r\n') + out_xml('\t\t\tVar OpenFromXML = CurrentXMLFileName2\n') + out_xml('\t\t\tVar PriceD1 = $' + pd_code_1 + '.Price\n') + out_xml('\t\t\tVar PriceD2 = $' + pd_code_2 + '.Price\n') + out_xml('\t\t\tVar PriceD3 = $' + pd_code_3 + '.Price\n') + out_xml('\t\t\tVar PD_CODE1 = "' + pd_code_1 + '"\n') + out_xml('\t\t\tVar PD_CODE2 = "' + pd_code_2 + '"\n') + out_xml('\t\t\tVar PD_CODE3 = "' + pd_code_3 + '"\n') + out_xml('\t\t\tVar PD_STAGE_1 = ' + pd_stage1 + '\n') + out_xml('\t\t\tVar PD_STAGE_2 = ' + pd_stage2 + '\n') + out_xml('\t\t\tVar PD_STAGE_3 = ' + pd_stage3 + '\n') + + if len( spl) > 11: + if spl[8] != '-': + menu_xml_var = 'xmlpro( '+spl[8]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' + elif spl[9] != '-': + menu_xml_var = 'xmlpro( '+spl[9]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' + else: + menu_xml_var = 'xmlpro( '+spl[10]+', "ROOT/taobin_project/image/menu_overlay_set/button_overlay_pic_%s_'+ spl[11] +'.png")' + + + if len( menu_xml_var) > 0: + out_xml( '\t\t\tVar OverlayMenuFilter !assigned ' + menu_xml_var + '\n') + out_xml( '\t\t\tDEBUGVAR OverlayMenuFilter\n') + + + + + out_xml( '\t\t\tVar SelectCountDrinkType = 0\n') + out_xml( '\t\t\tVar DefaultDrinkType = 0\n') + + out_xml( '\t\t\tIf PD_STAGE_1 = "Enable" Then\n') + out_xml( '\t\t\t\tVar SelectCountDrinkType = SelectCountDrinkType + 1\n') + out_xml( '\t\t\t\tVar DefaultDrinkType = 1\n') + out_xml( '\t\t\tEndIf\n') + + + out_xml( '\t\t\tIf PD_STAGE_2 = "Enable" Then\n') + out_xml( '\t\t\t\tVar SelectCountDrinkType = SelectCountDrinkType + 1\n') + out_xml( '\t\t\t\tVar DefaultDrinkType = 2\n') + out_xml( '\t\t\tEndIf\n') + + + out_xml( '\t\t\tIf PD_STAGE_3 = "Enable" Then\n') + out_xml( '\t\t\t\tVar SelectCountDrinkType = SelectCountDrinkType + 1\n') + out_xml( '\t\t\t\tVar DefaultDrinkType = 3\n') + out_xml( '\t\t\tEndIf\n') + + + + out_xml( '\t\t\tIf PD_STAGE_2 = "Enable" Then\n') + #out_xml( \t'\t\t\tVar PD_STAGE_2 = "Enable"\n') + out_xml( '\t\t\t\tTopping "Load" "'+ spl[10].replace("-alter", "") +'"\n') + out_xml( '\t\t\tElse\n') + out_xml( '\t\t\t\tIf PD_STAGE_1 = "Enable" Then\n') + #out_xml( \t'\t\t\t\tVar PD_STAGE_1 = "Enable"\n') + out_xml( '\t\t\t\tTopping "Load" "'+ spl[8].replace("-alter", "") +'"\n') + out_xml( '\t\t\t\tElse\n') + #out_xml( \t'\t\t\t\tVar PD_STAGE_3 = "Enable"\n') + out_xml( '\t\t\t\tTopping "Load" "'+ spl[9].replace("-alter", "") +'"\n') + out_xml( '\t\t\t\tEndIf\n') + out_xml( '\t\t\tEndIf\n') + + + + out_xml( '\t\t\tVar menu_name_eng_hot = $' + pd_code_1 + '.NameE\n') + out_xml( '\t\t\tVar menu_desc_eng_hot = $' + pd_code_1 + '.descriptionE\n') + out_xml( '\t\t\tVar menu_name_thai_hot = $' + pd_code_1 + '.Name\n') + out_xml( '\t\t\tVar menu_desc_thai_hot = $' + pd_code_1 + '.description\n') + out_xml( '\t\t\t\n') + out_xml( '\t\t\tVar menu_name_eng_cold = $' + pd_code_2 + '.NameE\n') + out_xml( '\t\t\tVar menu_desc_eng_cold = $' + pd_code_2 + '.descriptionE\n') + out_xml( '\t\t\tVar menu_name_thai_cold = $' + pd_code_2 + '.Name\n') + out_xml( '\t\t\tVar menu_desc_thai_cold = $' + pd_code_2 + '.description\n') + out_xml( '\t\t\t\n') + out_xml( '\t\t\tVar menu_name_eng_blender = $' + pd_code_3 + '.NameE\n') + out_xml( '\t\t\tVar menu_desc_eng_blender = $' + pd_code_3 + '.descriptionE\n') + out_xml( '\t\t\tVar menu_name_thai_blender = $' + pd_code_3 + '.Name\n') + out_xml( '\t\t\tVar menu_desc_thai_blender = $' + pd_code_3 + '.description\n') + + + + + out_xml( '\t\t\t\n') + out_xml( '\t\t\tDEBUGVAR PD_STAGE_1\n') + out_xml( '\t\t\tDEBUGVAR PD_STAGE_2\n') + out_xml( '\t\t\tDEBUGVAR PD_STAGE_3\n') + out_xml( '\t\t\tVar SelectDrinkType = 0\n') + + out_xml( '\t\t\t'+ button_add_string +'\n') + out_xml( '\t\t\tOpen "ROOT/taobin_project/xml/page_topping_select5.xml"\n') + out_xml('\t\t\n') + out_xml('\t\t\n\n') + + def GenBanner(spl): + + if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', spl[12].strip()): + str_con += f'DateTimeStart="{spl[12].strip()}",' + if re.match(r'(\d{4})/(\d{2})/(\d{2})T(\d{2}):(\d{2}):(\d{2})', spl[13].strip()): + str_con += f'DateTimeEnd="{spl[13].strip()}",' + + if re.match(r'^\w.*', spl[14].strip()): + str_con += f'Var={spl[14].strip()},' + + out_xml('\t\t\n') + out_xml('\t\t\t Flag( '+ str_con + ') \n') + out_xml('\t\t\t ' + spl[4] + '\n') + out_xml('\t\t\t\n') + out_xml('\t\t\t\teval(\n') + out_xml('\t\t\t\t\tIf show_eng = "true" Then') + out_xml('\t\t\t\t\t\tVar return = ' + spl[5] + '\n') + out_xml('\t\t\t\t\tElse\n') + out_xml('\t\t\t\t\t\tVar return = ' + spl[6] + '\n') + out_xml('\t\t\t\t\tEndIf\n') + out_xml('\t\t\t\t)\n') + out_xml('\t\t\t\n') + out_xml('\t\t\t\n') + out_xml('\t\t\t\t' + spl[7] + '\n') + out_xml('\t\t\t\n') + out_xml('\t\t\n') + + def GenListMenu(): + for spl in menu_new_list: + #product_code = s + if spl[0] == "IGNORE": + continue + + if spl[0].startswith("TAG"): + out_xml( '\t;' + spl[0] + '\r\n') + continue + + if spl[0].startswith("BANNER"): + GenBanner(spl) + else: + GenMenuV3(spl) + + out_xml('\t\t; menu_new_list '+ str(len(menu_new_list))+'\n') + GenListMenu() + + out_xml('\t\n') + out_xml('\n')