import pickle import streamlit as st from html_information import html def read_pickle_files(pickle_file): with open(pickle_file, 'rb') as f: return pickle.load(f) def streamlit_carousel(header_name: str, rec_item_url: list, rec_item_name: list) -> None: st.header(header_name) if header_name == "Up-Sell Recommendations" or header_name == "Cross-Sell Recommendations": st.write("Based on Products added to the Cart") mid_section = "" for index, value in enumerate(rec_item_url): mid_section += """

""" + str(rec_item_name[index]) + """

""" mid_html = html + mid_section + """""" st.markdown(mid_html, unsafe_allow_html=True) def get_mapped_values(uid_list, dict_map): res = [] for val in uid_list: res.append(dict_map[val]) return res uid_name_map = read_pickle_files("uid_name_map.pkl") uid_url_map = read_pickle_files("uid_url_map.pkl") uid_brand_map = read_pickle_files("uid_brand_map.pkl") uid_category_map = read_pickle_files("uid_category_map.pkl") # trending_uid_list = read_pickle_files("trending_uid_list.pkl") trending_gender_uid_dict = read_pickle_files("trending_gender_uid_dict.pkl") category_uid_dict = read_pickle_files("category_uid_dict.pkl") brand_name_dict = read_pickle_files("brand_uid_dict.pkl") st.header("Trending Products Recommendations") st.subheader("Trending Products") gender_list = list(trending_gender_uid_dict.keys()) gender = st.selectbox("Select Gender", gender_list) category_heading = "Trending " + gender + " Products" selected_gender_uid_list = trending_gender_uid_dict[gender] trending_name_list = get_mapped_values(selected_gender_uid_list, uid_name_map) trending_url_list = get_mapped_values(selected_gender_uid_list, uid_url_map) # trending_url_list streamlit_carousel("Trending Products", trending_url_list[:10], trending_name_list[:10]) st.subheader("Trending Category Products") category_list = list(category_uid_dict.keys()) category = st.selectbox("Select Category", category_list) category_heading = "Trending Products Category: "+ category selected_category_uid_list = category_uid_dict[category] selected_category_name_list = get_mapped_values(selected_category_uid_list, uid_name_map) selected_category_url_list = get_mapped_values(selected_category_uid_list, uid_url_map) streamlit_carousel(category_heading, selected_category_url_list[:10], selected_category_name_list[:10]) st.subheader("Trending Brands Products") brand_list = list(brand_name_dict.keys()) brand = st.selectbox("Select Brand", brand_list) brand_heading = "Trending Products Brand: "+ brand selected_brand_uid_list = brand_name_dict[brand] selected_brand_name_list = get_mapped_values(selected_brand_uid_list, uid_name_map) selected_brand_url_list = get_mapped_values(selected_brand_uid_list, uid_url_map) streamlit_carousel(brand_heading, selected_brand_url_list[:10], selected_brand_name_list[:10])