Nicola commited on
Commit
18d3c49
1 Parent(s): 9e58d7f
Files changed (2) hide show
  1. pages/demographics.py +139 -0
  2. pages/login.py +20 -3
pages/demographics.py CHANGED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from streamlit_tags import st_tags
3
+
4
+
5
+ def store_user():
6
+ st.session_state["users"].append(st.session_state["user"])
7
+
8
+
9
+ st.title("Studio sulla City Identity")
10
+
11
+ with st.form("Demografica"):
12
+ age = st.radio(
13
+ "Età",
14
+ [
15
+ "18-24",
16
+ "25-34",
17
+ "35-44",
18
+ "45-54",
19
+ "55-64",
20
+ "65-74"
21
+ ]
22
+ )
23
+ school = st.radio(
24
+ "Grado di istruzione",
25
+ [
26
+ "Licenza media",
27
+ "Scuola superiore",
28
+ "Laurea triennale",
29
+ "Laurea specialistica",
30
+ "Dottorato di ricerca"
31
+ ]
32
+ )
33
+ work = st.radio(
34
+ "Mi occupo di",
35
+ [
36
+ "Architettura",
37
+ "Design",
38
+ "Informatica",
39
+ "Altro"
40
+ ]
41
+ )
42
+ if work == "Altro":
43
+ work_other = st.text_input("Se altro, indica quale")
44
+
45
+ img_rapport = st.radio(
46
+ "Il mio rapporto con le immagini è:",
47
+ [
48
+ "Professionale",
49
+ "Hobbistico",
50
+ "Nessuno",
51
+ "Altro"
52
+ ]
53
+ )
54
+ if img_rapport == "Altro":
55
+ rapport_other = st.text_input("Se altro, indica quale")
56
+
57
+ img_freq = st.radio(
58
+ "Quanto spesso ho a che fare con le immagini",
59
+ [
60
+ "Mai",
61
+ "Raramente",
62
+ "Qualche volta",
63
+ "Spesso",
64
+ "Sempre"
65
+ ]
66
+ )
67
+
68
+ img_expert = st.radio(
69
+ "Sono un esperto di immagini",
70
+ [
71
+ "1 - Per nulla d'accordo",
72
+ "2",
73
+ "3",
74
+ "4",
75
+ "5 - Pienamente d'accordo"
76
+ ],
77
+ horizontal=True
78
+ )
79
+
80
+ ai_expert = st.radio(
81
+ "Utilizzo strumenti IA per la generazione di immagini (es. Dall-E, Midjourney, Firefly, ecc.)",
82
+ [
83
+ "Mai",
84
+ "Raramente",
85
+ "Qualche volta",
86
+ "Spesso",
87
+ "Sempre"
88
+ ]
89
+ )
90
+
91
+ genova_expert = st.radio(
92
+ "La mia familiarità con la città di Genova è:",
93
+ [
94
+ "1 - Per nulla d'accordo",
95
+ "2",
96
+ "3",
97
+ "4",
98
+ "5 - Pienamente d'accordo"
99
+ ],
100
+ horizontal=True
101
+ )
102
+
103
+ genova_freq = st.radio(
104
+ "Frequento la città di Genova",
105
+ [
106
+ "Mai",
107
+ "Raramente",
108
+ "Qualche volta",
109
+ "Spesso",
110
+ "Sempre"
111
+ ]
112
+ )
113
+
114
+ genova_knowledge = st.radio(
115
+ "Conosco le attrazioni ed i paesaggi della città di Genova",
116
+ [
117
+ "1 - Per nulla d'accordo",
118
+ "2",
119
+ "3",
120
+ "4",
121
+ "5 - Pienamente d'accordo"
122
+ ],
123
+ horizontal=True
124
+ )
125
+
126
+ thoughts = st_tags(
127
+ label="Quando penso a Genova mi immagino:",
128
+ text="Premere invio per aggiungere un nuovo elemento",
129
+ value=[],
130
+ maxtags=-1)
131
+ # thoughts = st.multiselect(
132
+ # "Quando penso a Genova mi immagino:",
133
+ # [
134
+ # "ciao"
135
+ # ],
136
+ # placeholder="Scrivi le opzioni"
137
+ # )
138
+
139
+ submit = st.form_submit_button("Invia", on_click=store_user)
pages/login.py CHANGED
@@ -1,10 +1,27 @@
 
1
  import streamlit as st
2
 
 
 
 
 
 
 
 
 
 
3
 
4
  st.title("Studio sulla City Identity")
5
 
6
- st.text("Per favore, inserisci un nickname")
 
 
 
7
 
8
- st.text_input("Scegli il tuo nickname")
 
9
 
10
- st.page_link("pages/instructions.py", label="Invia")
 
 
 
 
1
+ import pickle as pkl
2
  import streamlit as st
3
 
4
+ USER_FILE = "users.pkl"
5
+
6
+ try:
7
+ with open(USER_FILE, "rb") as file:
8
+ users = pkl.load(file)
9
+ except Exception as exc:
10
+ users = []
11
+
12
+ st.session_state["users"] = users
13
 
14
  st.title("Studio sulla City Identity")
15
 
16
+ st.markdown("""Per condurre l'esperimento, ti sarà attribuito un nickname univoco ed anonimo
17
+ per salvare lo stato d'avanzamento dello studio.
18
+ Il nickname è composto dalle prime tre lettere del nome di tua madre, le prime tre lettere nel nome di tuo padre
19
+ e le prime due cifre della data del tuo compleanno.""")
20
 
21
+ nickname = st.text_input("Inserisci il tuo nickname")
22
+ st.session_state["user"] = nickname
23
 
24
+ if nickname in users:
25
+ st.page_link("pages/annotation.py", label="Comincia")
26
+ else:
27
+ st.page_link("pages/instructions.py", label="Comincia")