if "v2" in param: print("V2 ignore") else: #print("params=" + param) #print( "dir= " + directory_to_process + "/page_catalog_group_recommend.xml"); file_recommend = open(directory_to_process + "/page_catalog_group_recommend.xml", 'r') content_recommend = file_recommend.read() #print(file_xml.read()) # ; include-file=dummy_layout.inc # file_inc = open(directory_to_process + "/dummy_layout.inc", 'r') # file_inc_content = file_inc.read() file_inc1_content = "" file_recommend.close() if "template1" in param: print("Here", param) file_inc1 = open(directory_to_process + "/event/promotion_template1.inc", 'r') file_inc1_content = file_inc1.read() file_inc_img = open(directory_to_process + "../image/event/image_template1", 'r') file_inc1_img_content = file_inc_img.read() # replace key. sp_key = file_inc1_img_content.split("\n") #print("sp_key = " + str(len( sp_key))) for sp_line in sp_key: sp_line = sp_line.strip() key_val = sp_line.split("=") if len( key_val) == 2: #print("k = " + key_val[0] + " val=" + key_val[1]) file_inc1_content = file_inc1_content.replace( "###" + key_val[0], '"' + key_val[1].strip() + '"') file_inc_event_click = open(directory_to_process + "/event/promotion_onclick1.inc", 'r') file_inc_event_click_content = file_inc_event_click.read() file_inc1_content = file_inc1_content.replace("###EventOnClick", file_inc_event_click_content) #print(file_inc2_content) #print( file_inc_content) file_inc = open(directory_to_process + "/dummy_layout.inc", 'r') file_inc_content = file_inc.read() content_data_was_repack = content_recommend.replace(";dummy_layout.inc", file_inc_content) content_data = content_data_was_repack.replace(";BigLogoLayout", file_inc1_content) begin_text = content_data.index(";TAGESP") end_text = content_data.index(";TAGESP", begin_text + 7) #print("sub text = " + str(begin_text) + " end = " + str(end_text)) tmp1 = content_data[: begin_text - 7] tmp2 = content_data[ end_text:-1] #print("tmp1=" + tmp1) #print("tmp2=" + tmp2) content_data = tmp1 + tmp2 file_xml3_out = open(directory_to_process + "/event/out_put_file1.txt", 'r') file_xml3_out_content = file_xml3_out.read() file_xml3_out_content = file_xml3_out_content.strip() file_xml3_out_content = file_xml3_out_content.replace("\r", "") file_xml3_out_content = file_xml3_out_content.replace("\n", "") file_xml3 = open(directory_to_process + file_xml3_out_content, 'w') file_xml3.write( content_data) file_xml3.close() if "template2" in param: file_inc2 = open(directory_to_process + "/event/promotion_template2.inc", 'r') file_inc2_content = file_inc2.read() file_inc_img = open(directory_to_process + "../image/event/image_template2", 'r') file_inc2_img_content = file_inc_img.read() # replace key. sp_key = file_inc2_img_content.split("\n") #print("sp_key = " + str(len( sp_key))) for sp_line in sp_key: sp_line = sp_line.strip() key_val = sp_line.split("=") if len( key_val) == 2: #print("k = " + key_val[0] + " val=" + key_val[1]) file_inc2_content = file_inc2_content.replace( "###" + key_val[0], '"' + key_val[1].strip() + '"') file_inc_event_click = open(directory_to_process + "/event/promotion_onclick2.inc", 'r') file_inc_event_click_content = file_inc_event_click.read() file_inc2_content = file_inc2_content.replace("###EventOnClick", file_inc_event_click_content) #print(file_inc2_content) #print( file_inc_content) file_inc = open(directory_to_process + "/dummy_layout.inc", 'r') file_inc_content = file_inc.read() content_data_was_repack = content_recommend.replace(";dummy_layout.inc", file_inc_content) content_data = content_data_was_repack.replace(";BigLogoLayout", file_inc2_content) begin_text = content_data.index(";TAGESP") end_text = content_data.index(";TAGESP", begin_text + 7) #print("sub text = " + str(begin_text) + " end = " + str(end_text)) tmp1 = content_data[: begin_text - 7] tmp2 = content_data[ end_text:-1] #print("tmp1=" + tmp1) #print("tmp2=" + tmp2) content_data = tmp1 + tmp2 file_xml3_out = open(directory_to_process + "/event/out_put_file2.txt", 'r') file_xml3_out_content = file_xml3_out.read() file_xml3_out_content = file_xml3_out_content.strip() file_xml3_out_content = file_xml3_out_content.replace("\r", "") file_xml3_out_content = file_xml3_out_content.replace("\n", "") file_xml3 = open(directory_to_process + file_xml3_out_content, 'w') file_xml3.write( content_data) file_xml3.close() if "template3" in param: file_inc3 = open(directory_to_process + "/event/promotion_template3.inc", 'r') file_inc3_content = file_inc3.read() file_inc_img = open(directory_to_process + "../image/event/image_template3", 'r') file_inc3_img_content = file_inc_img.read() # replace key. sp_key = file_inc3_img_content.split("\n") #print("sp_key = " + str(len( sp_key))) for sp_line in sp_key: sp_line = sp_line.strip() key_val = sp_line.split("=") #print("Kenta420:", key_val) if len( key_val) == 2: #print("k = " + key_val[0] + " val=" + key_val[1]) file_inc3_content = file_inc3_content.replace( "###" + key_val[0], '"' + key_val[1].strip() + '"') file_inc_event_click = open(directory_to_process + "/event/promotion_onclick3.inc", 'r') file_inc_event_click_content = file_inc_event_click.read() file_inc3_content = file_inc3_content.replace("###EventOnClick", file_inc_event_click_content) #print(file_inc3_content) #print( file_inc_content) file_inc = open(directory_to_process + "/dummy_layout.inc", 'r') file_inc_content = file_inc.read() content_data_was_repack = content_recommend.replace(";dummy_layout.inc", file_inc_content) content_data = content_data_was_repack.replace(";BigLogoLayout", file_inc3_content) begin_text = content_data.index(";TAGESP") end_text = content_data.index(";TAGESP", begin_text + 7) #print("sub text = " + str(begin_text) + " end = " + str(end_text)) tmp1 = content_data[: begin_text - 7] tmp3 = content_data[ end_text:-1] #print("tmp1=" + tmp1) #print("tmp3=" + tmp3) content_data = tmp1 + tmp3 file_xml3_out = open(directory_to_process + "/event/out_put_file3.txt", 'r') file_xml3_out_content = file_xml3_out.read() file_xml3_out_content = file_xml3_out_content.strip() file_xml3_out_content = file_xml3_out_content.replace("\r", "") file_xml3_out_content = file_xml3_out_content.replace("\n", "") file_xml3 = open(directory_to_process + file_xml3_out_content, 'w') file_xml3.write( content_data) file_xml3.close() if "template4" in param: file_inc4 = open(directory_to_process + "/event/promotion_template4.inc", 'r') file_inc4_content = file_inc4.read() file_inc_img = open(directory_to_process + "../image/event/image_template4", 'r') file_inc4_img_content = file_inc_img.read() # replace key. sp_key = file_inc4_img_content.split("\n") #print("sp_key = " + str(len( sp_key))) for sp_line in sp_key: sp_line = sp_line.strip() key_val = sp_line.split("=") #print("Kenta420:", key_val) if len( key_val) == 2: #print("k = " + key_val[0] + " val=" + key_val[1]) file_inc4_content = file_inc4_content.replace( "###" + key_val[0], '"' + key_val[1].strip() + '"') file_inc_event_click = open(directory_to_process + "/event/promotion_onclick4.inc", 'r') file_inc_event_click_content = file_inc_event_click.read() file_inc4_content = file_inc4_content.replace("###EventOnClick", file_inc_event_click_content) #print(file_inc4_content) #print( file_inc_content) file_inc = open(directory_to_process + "/dummy_layout.inc", 'r') file_inc_content = file_inc.read() content_data_was_repack = content_recommend.replace(";dummy_layout.inc", file_inc_content) content_data = content_data_was_repack.replace(";BigLogoLayout", file_inc4_content) begin_text = content_data.index(";TAGESP") end_text = content_data.index(";TAGESP", begin_text + 7) #print("sub text = " + str(begin_text) + " end = " + str(end_text)) tmp1 = content_data[: begin_text - 7] tmp3 = content_data[ end_text:-1] #print("tmp1=" + tmp1) #print("tmp3=" + tmp3) content_data = tmp1 + tmp3 file_xml4_out = open(directory_to_process + "/event/out_put_file4.txt", 'r') file_xml4_out_content = file_xml4_out.read() file_xml4_out_content = file_xml4_out_content.strip() file_xml4_out_content = file_xml4_out_content.replace("\r", "") file_xml4_out_content = file_xml4_out_content.replace("\n", "") file_xml4 = open(directory_to_process + file_xml4_out_content, 'w') file_xml4.write( content_data) file_xml4.close() if "multi_promotion" in param: files = os.listdir(directory_to_process + "/event/") files = [f for f in files if f.startswith("multi_promotion_config")] for filename in files: recommend_multi_pro = open(directory_to_process + "/page_catalog_group_recommend_multi_pro.xml", "r") recommend_multi_pro_buff = recommend_multi_pro.read() recommend_multi_pro.close() #read config multi_pro_config_file = open(directory_to_process + "/event/"+ filename) multi_pro_config = json.load(multi_pro_config_file) index = 0 promotion_name = [] while index < len(multi_pro_config): promotion_config = multi_pro_config[index] index += 1 # add promotion name for create filename later promotion_name.append(promotion_config["name"]) #load template template_file = open(directory_to_process + promotion_config["template"]) template = template_file.read() template_file.close() for key, value in promotion_config["config"].items(): template = template.replace("###"+key, '"' + value.strip() + '"') promotion_block_str = '\r\n\r\n\t PromotionState{0} \r\n\t 33 \r\n\t 22 \r\n\t 484 \r\n\t 602 \r\n'.format(index) promotion_block_str += template promotion_block_str += '\r\n\r\n' recommend_multi_pro_buff = re.sub(r'(?is)(;block{0}).*(;endblock{0})'.format(index), r'\1{0}\2'.format(promotion_block_str), recommend_multi_pro_buff) if index == 2: # expend block3 to full width bottom inner_block = re.search(r'(?is);block{0}(.*);endblock{0}'.format(index+1), recommend_multi_pro_buff).group(1) inner_block = inner_block.replace(" 516 ", " 1032 ", 2) inner_block = inner_block.replace(" 4 ", " 8 ", 1) inner_block = inner_block.replace(" 2 ", " 4 ", 1) recommend_multi_pro_buff = re.sub(r'(?is)(;block{0}).*(;endblock{0})'.format(index+1), r'\1{0}\2'.format(inner_block), recommend_multi_pro_buff) # remove block4 recommend_multi_pro_buff = re.sub(r'(?is)(;block{0}).*(;endblock{0})'.format(index+2), r'\1\2', recommend_multi_pro_buff) if index == 3: # create expand block inner_block2 = re.search(r'(?is)(;block{0}.*;endblock{0})'.format(index+1), recommend_multi_pro_buff).group(1) inner_block2 = inner_block2.replace(";block{0}".format(index+1), ";block{0}-expand".format(index+1)) inner_block2 = inner_block2.replace(";endblock{0}".format(index+1), ";endblock{0}-expand".format(index+1)) inner_block2 = inner_block2.replace(" 516 ", " 1032 ", 2) # inner_block2 = inner_block2.replace(" \"Enable\" ", "\r\n\teval(\r\n\tIf PromotionState{0} = \"Enable\" Then\r\n\t\tVar block_expend_show = \"Invisible\"\r\n\tElse\r\n\t\tVar block_expend_show = \"Enable\"\r\n\tEndIf\r\n\tVar return = block_expend_show\r\n\t)\r\n".format(index), 1) inner_block2 = inner_block2.replace(" 4 ", "\r\neval(\r\n\tIf CountEnablePromotion > 2 Then\r\n\t\tVar max_count = 4\r\n\tElse\r\n\t\tVar max_count = 8\r\n\tEndIf\r\n\tVar return = max_count\r\n)\r\n", 1) inner_block2 = inner_block2.replace(" 2 ", "\r\neval(\r\n\tIf CountEnablePromotion > 2 Then\r\n\t\tVar column_count = 2\r\n\tElse\r\n\t\tVar column_count = 4\r\n\tEndIf\r\n\tVar return = column_count\r\n)\r\n", 1) recommend_multi_pro_buff = re.sub(r'(?is);block{0}.*;endblock{0}'.format(index+1), inner_block2, recommend_multi_pro_buff) # create promotion file count_name_dict = { 2: "double_", 3: "triple_" } promo_file = open(directory_to_process + "/event/" + count_name_dict[len(multi_pro_config)]+ "promotion_" + "_and_".join(promotion_name) + ".xml", "w") promo_file.write(recommend_multi_pro_buff) promo_file.close()