Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
import streamlit as st
|
2 |
import pandas as pd
|
3 |
import json
|
4 |
-
import os
|
5 |
import asyncio
|
6 |
from datetime import datetime, timezone
|
7 |
from utils import validate_input, make_certificates
|
@@ -20,7 +19,6 @@ async def main():
|
|
20 |
</div>
|
21 |
""", unsafe_allow_html=True)
|
22 |
st.markdown("<h3 align='center'><i>Ro'yxatga olish formasi</i></h3>", unsafe_allow_html=True)
|
23 |
-
|
24 |
st.markdown("---")
|
25 |
|
26 |
with st.form("Birinchi formamiz", clear_on_submit=True):
|
@@ -54,11 +52,12 @@ async def main():
|
|
54 |
existing_data = []
|
55 |
|
56 |
# Ma'lumotlar mavjudligini tekshirish
|
57 |
-
|
|
|
58 |
|
59 |
-
if
|
60 |
-
certificate_link =
|
61 |
-
sertifikat_vaqt_utc = datetime.strptime(
|
62 |
sertifikat_vaqt = sertifikat_vaqt_utc.astimezone(pytz.timezone('Asia/Tashkent'))
|
63 |
st.warning(f"Siz ro'yxatdan o'tgansiz! Pastda siz olgan sertifikat nusxasi mavjud. Sertifikat olgan sana: {sertifikat_vaqt.strftime('%Y-%m-%d %H:%M:%S')}", icon='⚠️')
|
64 |
st.markdown(f"[{fish}ning sertifikat fayli]({certificate_link})")
|
@@ -66,7 +65,7 @@ async def main():
|
|
66 |
sertifikat_vaqt = datetime.now(pytz.timezone('Asia/Tashkent')).strftime("%Y-%m-%d %H:%M:%S")
|
67 |
certificate_link = await make_certificates(fish, maqola)
|
68 |
st.success("Ma'lumotlar muvaffaqiyatli saqlandi", icon='💾')
|
69 |
-
|
70 |
"F.I.SH": fish,
|
71 |
"Maqola mavzusi": maqola,
|
72 |
"Sho'ba": shuba,
|
@@ -74,7 +73,8 @@ async def main():
|
|
74 |
"Telefon raqam": phone,
|
75 |
"Sertifikat manzili": certificate_link,
|
76 |
"Sertifikat olingan vaqt": sertifikat_vaqt
|
77 |
-
}
|
|
|
78 |
with open('data.json', 'w') as f:
|
79 |
json.dump(existing_data, f, indent=4)
|
80 |
st.markdown(f"[{fish}ning sertifikat fayli]({certificate_link})")
|
@@ -105,4 +105,3 @@ async def main():
|
|
105 |
|
106 |
if __name__ == "__main__":
|
107 |
asyncio.run(main())
|
108 |
-
|
|
|
1 |
import streamlit as st
|
2 |
import pandas as pd
|
3 |
import json
|
|
|
4 |
import asyncio
|
5 |
from datetime import datetime, timezone
|
6 |
from utils import validate_input, make_certificates
|
|
|
19 |
</div>
|
20 |
""", unsafe_allow_html=True)
|
21 |
st.markdown("<h3 align='center'><i>Ro'yxatga olish formasi</i></h3>", unsafe_allow_html=True)
|
|
|
22 |
st.markdown("---")
|
23 |
|
24 |
with st.form("Birinchi formamiz", clear_on_submit=True):
|
|
|
52 |
existing_data = []
|
53 |
|
54 |
# Ma'lumotlar mavjudligini tekshirish
|
55 |
+
existing_item = next((item for item in existing_data if item["F.I.SH"] == fish or item["Email"] == email or item["Telefon raqam"] == phone), None)
|
56 |
+
maqola_match = next((item for item in existing_data if item["Maqola mavzusi"] == maqola), None)
|
57 |
|
58 |
+
if existing_item and maqola_match:
|
59 |
+
certificate_link = existing_item["Sertifikat manzili"]
|
60 |
+
sertifikat_vaqt_utc = datetime.strptime(existing_item["Sertifikat olingan vaqt"], "%Y-%m-%d %H:%M:%S").replace(tzinfo=timezone.utc)
|
61 |
sertifikat_vaqt = sertifikat_vaqt_utc.astimezone(pytz.timezone('Asia/Tashkent'))
|
62 |
st.warning(f"Siz ro'yxatdan o'tgansiz! Pastda siz olgan sertifikat nusxasi mavjud. Sertifikat olgan sana: {sertifikat_vaqt.strftime('%Y-%m-%d %H:%M:%S')}", icon='⚠️')
|
63 |
st.markdown(f"[{fish}ning sertifikat fayli]({certificate_link})")
|
|
|
65 |
sertifikat_vaqt = datetime.now(pytz.timezone('Asia/Tashkent')).strftime("%Y-%m-%d %H:%M:%S")
|
66 |
certificate_link = await make_certificates(fish, maqola)
|
67 |
st.success("Ma'lumotlar muvaffaqiyatli saqlandi", icon='💾')
|
68 |
+
new_entry = {
|
69 |
"F.I.SH": fish,
|
70 |
"Maqola mavzusi": maqola,
|
71 |
"Sho'ba": shuba,
|
|
|
73 |
"Telefon raqam": phone,
|
74 |
"Sertifikat manzili": certificate_link,
|
75 |
"Sertifikat olingan vaqt": sertifikat_vaqt
|
76 |
+
}
|
77 |
+
existing_data.append(new_entry)
|
78 |
with open('data.json', 'w') as f:
|
79 |
json.dump(existing_data, f, indent=4)
|
80 |
st.markdown(f"[{fish}ning sertifikat fayli]({certificate_link})")
|
|
|
105 |
|
106 |
if __name__ == "__main__":
|
107 |
asyncio.run(main())
|
|