import streamlit as st import pandas as pd import gdown import os import pickle from streamlit import session_state as _state from PyDictionary import PyDictionary dictionary=PyDictionary() st.set_page_config(layout="wide", page_title="ACl23 Secret Language") # st.title("ACl23 Secret Language") # sidebar st.sidebar.header("📙 Dictionary (Browse)") # title = st.sidebar.text_input(":red[Search secret languages given the following word]", 'Asian') buttons = {} # def call_back(): # for k in buttons: # if buttons[k]: # st.text(k) with st.sidebar: cols0 = st.columns(8) for i in range(len(cols0)): with cols0[i]: buttons[chr(65 + i)] = st.button(chr(65 + i)) cols1 = st.columns(8) for i in range(len(cols1)): with cols1[i]: buttons[chr(65 + 8 + i)] = st.button(chr(65 + 8 + i)) cols2 = st.columns(8) for i in range(len(cols2)): with cols2[i]: buttons[chr(65 + 16 + i)] = st.button(chr(65 + 16 + i)) cols3 = st.columns(8) for i in range(2): with cols3[i]: buttons[chr(65 + 24 + i)] = st.button(chr(65 + 24 + i)) cols4 = st.columns(2) buttons['0-9'] = cols4[0].button('0-9') buttons['Others'] = cols4[1].button('Others') # all_condition = False for k in buttons: if buttons[k]: if k == '0-9': st.title(k) file_names = ['num_dict.pkl'] elif k == 'Others': st.title(k) file_names = ['other_dict.pkl'] elif ord(k[0]) in list(range(97, 123)) + list(range(65, 91)): st.title(chr(ord(k))) file_names = [f'{ord(k[0]) + 32}_dict.pkl', f'{ord(k[0])}_dict.pkl'] all_data = {} all_key = [] for file_name in file_names: _data = pickle.load(open(f'all_secret_langauge_by_fist/{file_name}', 'rb')) all_data.update(_data) all_key.extend(sorted(list(_data.keys()))) # st.markdown(file_name, unsafe_allow_html=True) # st.markdown(_data.keys(), unsafe_allow_html=True) all_key = list(set(all_key)) for key in all_key: # if len(key) and key[0] != '"': # st.markdown(key, unsafe_allow_html=True) # st.change_page("home") st.markdown(f'{key}', unsafe_allow_html=True) # with st.expander(key): # st.markdown(':red[Secret Languages:' + ','.join(all_data[key]['secret languages']), unsafe_allow_html=True)