I have following micro app
def main():
st.header("Сервис распознавания документов (DEMO)")
st.subheader("FAQ")
with st.expander("Какие типы документов поддерживаются?"):
st.write(
"""
1. Согласие на обработку персональных данных и обязательства
2. Соглашение об использовании Аналога собственноручной подписи
3. Заявления о предоставлении потребительского займа
4. Заявление о предоставлении транша по договору потребительского займа
5. График платежей по договору потребительского Займа
"""
)
st.sidebar.header('Test')
uploaded_zip = st.file_uploader('XML File', type="zip", key='zip')
if uploaded_zip:
zf = zipfile.ZipFile(uploaded_zip)
recognize_btn = st.button("Распознать документы", key='recognize_btn')
if recognize_btn:
pdf_corpus: Dict[str, PyPDF2.PdfFileReader] = {
file.filename:
PyPDF2.PdfFileReader(BytesIO(zf.read(file))) for file in zf.filelist if
file.filename.endswith('.pdf')
}
if not pdf_corpus:
return
with st.spinner('Распознавание документов "Соглашения об использовании Аналога собственноручной подписи..'):
asp_data = collect_asp_data(pdf_corpus)
st.write(asp_data, key=asp_data)
asp_download = convert_df(asp_data)
st.download_button(
"Скачать asp.csv",
asp_download,
"asp.csv",
"text/csv",
key='download_asp_data'
)
if __name__ == '__main__':
main()
Everything works fine but when i click download_button
the script runs again.
Befor click
and after click
I searched for session state but did not figure out how to use it in my case.
I need to everything state the same after download_button
clicked