JoanGiner commited on
Commit
7ccb6a3
·
1 Parent(s): 305001a

JSON now is generated with proper structure

Browse files
Files changed (3) hide show
  1. jsonGenerator.py +190 -0
  2. sdc_view.py +26 -22
  3. session_state.json +1 -1
jsonGenerator.py CHANGED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def generate_json(form_state):
2
+
3
+
4
+
5
+ dataModel = {
6
+ "name": None,
7
+ "description": None,
8
+ "organizations": [],
9
+ "targetCommunities": [],
10
+ "bodies": [],
11
+ "governance": [],
12
+ "socialContexts":[],
13
+ "adaptations":[],
14
+ "participants":[],
15
+ "teams":[]
16
+ }
17
+
18
+ targetCommunities = {
19
+ "id": None,
20
+ "startingAgeRange": None,
21
+ "endingAgeRange": None,
22
+ "ethnicities": [],
23
+ "genders": [],
24
+ "spokenLanguages": [
25
+ {"language": None, "proficiency": None}
26
+ ],
27
+ "socioEconomicStati": [],
28
+ "skillLevels": [],
29
+ "averageTenure": None
30
+ }
31
+ bodies = {
32
+
33
+ }
34
+ dataModel = {
35
+ "name": None,
36
+ "description": None,
37
+ "organizations": [],
38
+ "targetCommunities": [
39
+ {
40
+ "id": None,
41
+ "startingAgeRange": None,
42
+ "endingAgeRange": None,
43
+ "ethnicities": [],
44
+ "genders": [],
45
+ "spokenLanguages": [
46
+ {"language": None, "proficiency": None}
47
+ ],
48
+ "socioEconomicStati": [],
49
+ "skillLevels": [],
50
+ "averageTenure": None
51
+ },
52
+ {
53
+ "id": None,
54
+ "startingAgeRange": None,
55
+ "endingAgeRange": None,
56
+ "ethnicities": [],
57
+ "genders": [],
58
+ "spokenLanguages": [
59
+ {"language": None, "proficiency": None}
60
+ ],
61
+ "socioEconomicStati": [],
62
+ "skillLevels": [],
63
+ "averageTenure": None
64
+ }
65
+ ],
66
+ "bodies": [
67
+ {
68
+ "id": None,
69
+ "description": None,
70
+ "type": None
71
+ },
72
+ {
73
+ "id": None,
74
+ "description": None,
75
+ "type": None
76
+ }
77
+ ],
78
+ "governances": [
79
+ {
80
+ "id": None,
81
+ "projectType": None
82
+ }
83
+ ],
84
+ "socialContexts": [],
85
+ "useCases": [],
86
+ "adaptations": [
87
+ {
88
+ "id": None,
89
+ "description": None,
90
+ "useCases": [],
91
+ "targetCommunities": [],
92
+ "relatedTeams": []
93
+ },
94
+ {
95
+ "id": None,
96
+ "description": None,
97
+ "useCases": [],
98
+ "targetCommunities": [],
99
+ "relatedTeams": []
100
+ }
101
+ ],
102
+ "participants": [
103
+ {
104
+ "id": None,
105
+ "age": None,
106
+ "location": None,
107
+ "workplaceType": None,
108
+ "ethnicity": None,
109
+ "gender": None,
110
+ "disabilities": [],
111
+ "sexualOrientation": None,
112
+ "religion": None,
113
+ "country": None,
114
+ "spokenLanguages": [
115
+ {"language": None, "proficiency": None}
116
+ ],
117
+ "socioEconomicStatus": None,
118
+ "skillLevel": None,
119
+ "tenure": None
120
+ }
121
+ ],
122
+ "teams": [
123
+ {
124
+ "id": None,
125
+ "type": None,
126
+ "description": None,
127
+ "startingAgeRange": None,
128
+ "endingAgeRange": None,
129
+ "locations": [],
130
+ "workplaceType": None,
131
+ "ethnicities": [],
132
+ "genders": [],
133
+ "disabilities": [],
134
+ "sexualOrientations": [],
135
+ "religiousBeliefs": [],
136
+ "countries": [],
137
+ "educationalLevels": [],
138
+ "spokenLanguages": [
139
+ {"language": None, "proficiency": None}
140
+ ],
141
+ "socioEconomicStati": [],
142
+ "skillLevels": [],
143
+ "averageTenure": None,
144
+ "startDate": None,
145
+ "endDate": None,
146
+ "teamSize": None,
147
+ "iterations": None,
148
+ "participants": []
149
+ },
150
+ {
151
+ "id": None,
152
+ "type": None,
153
+ "description": None,
154
+ "startingAgeRange": None,
155
+ "endingAgeRange": None,
156
+ "locations": [],
157
+ "workplaceType": None,
158
+ "ethnicities": [],
159
+ "genders": [],
160
+ "disabilities": [],
161
+ "sexualOrientations": [],
162
+ }
163
+ ]
164
+ }
165
+
166
+
167
+
168
+ return dataModel
169
+
170
+
171
+ def unflatten(flat_dict):
172
+ nested = {}
173
+ for flat_key, value in flat_dict.items():
174
+ keys = flat_key.split('_')
175
+ current = nested
176
+ for i, key in enumerate(keys):
177
+ # For intermediate keys, ensure the container is a dict.
178
+ if i < len(keys) - 1:
179
+ if key in current:
180
+ # If current[key] exists but isn't a dict, replace it.
181
+ if not isinstance(current[key], dict):
182
+ current[key] = {}
183
+ else:
184
+ current[key] = {}
185
+ current = current[key]
186
+ else:
187
+ # Last key: assign the value.
188
+ current[key] = value
189
+ return nested
190
+
sdc_view.py CHANGED
@@ -6,6 +6,7 @@ import datetime
6
  import urllib.parse
7
  import os
8
  from markdownGenerator import *
 
9
 
10
 
11
 
@@ -256,10 +257,17 @@ def render_sdc():
256
  ##
257
  col1, col2 = st.columns([8, 2])
258
  with col1:
259
- st.title("The Software Diversity Card :woman_and_man_holding_hands: :memo:")
260
  with col2:
261
  # Theme options
262
  themes = {
 
 
 
 
 
 
 
263
  "Cool Blue": {
264
  "primaryColor" : "#007ACC", # A vibrant, clear blue
265
  "backgroundColor" : "#E6F7FF" , # A light, airy blue for a fresh feel
@@ -267,12 +275,6 @@ def render_sdc():
267
  "textColor" : "#003366" , # Deep navy for contrast
268
  "font" : "sans serif",
269
  },
270
- "Light": {
271
- "primaryColor": "#4CAF50",
272
- "backgroundColor": "#FFFFFF",
273
- "secondaryBackgroundColor": "#F0F2F6",
274
- "textColor": "#262730",
275
- },
276
  "Dark": {
277
  "primaryColor": "#BB86FC",
278
  "backgroundColor": "#121212",
@@ -333,11 +335,11 @@ def render_sdc():
333
  ])
334
 
335
  with governance:
336
- col1, col2 = st.columns([1, 2])
337
- with col1:
338
  #cached_text_input("Project Type", "governance_projectType", "Specify the type of software project (private, public funded, non-profit, driven by an open-source community, etc.)")
339
  cached_multiple_radio("governance_projectType",["public funded", "research", "private", "private non-profit", "driven by open-source community", "citizen science"],"Specify the type of software project")
340
- with col2:
341
  # Multiple value
342
  key = "governance_govProcesses"
343
  init_state(key)
@@ -346,15 +348,15 @@ def render_sdc():
346
  if st.button("Add governament processes"):
347
  add_text_area(key)
348
  # Loop over the array and create a text area with a remove button for each element
349
- for idx, processes in enumerate(st.session_state[key]):
350
- # Create two columns: one for the text area, one for the remove button
351
- col1, col2 = st.columns([6, 1])
352
- with col1:
353
- cached_text_area(f"Governament process {idx + 1}", f"governance_govProcesses{idx}", "Specific the governance rules of the software project. For instance, the funders, or the role and the relation between the different bodies that governs the software.")
354
- with col2:
355
- # print(st.session_state['governance_govProcesses_remove_0'])
356
- if st.button("Remove", key=f"remove_{key}_{idx}"):
357
- remove_text_area(idx,key)
358
 
359
  # BODIES
360
  st.write("Add the different types of governament bodies of your software project (boards and funders)")
@@ -367,16 +369,17 @@ def render_sdc():
367
  for idx, text in enumerate(st.session_state[key]):
368
  # Create two columns: one for the text area, one for the remove button
369
  with st.container(border=True):
370
- col1, col2 = st.columns([2, 2])
371
  with col1:
372
  cached_text_input("Body name", f"{key}_{idx}_name", "The name of id of the body")
373
  cached_text_area("Body description", f"{key}_{idx}_description", "A description of the body")
374
 
375
 
376
  with col2:
 
377
  if st.button("Remove", key=f"{key}_remove_{idx}"):
378
  remove_text_area(idx,f"{key}_remove_{idx}")
379
- cached_multiple_radio(f"{key}_{idx}_type", ['funders', 'directors', 'administrators', 'other'], f"Body role type" )
380
 
381
  with st.expander("If needed provide detailed information about the organizations or individuals involved in the governance", expanded=False):
382
  # Button to add a new text area
@@ -465,6 +468,7 @@ def render_sdc():
465
  )
466
  # Display the session state as pretty JSON
467
  #st.json(serialize_session_state())
 
468
  st.text("Preview:")
469
- st.json(st.session_state["form_data"])
470
 
 
6
  import urllib.parse
7
  import os
8
  from markdownGenerator import *
9
+ from jsonGenerator import *
10
 
11
 
12
 
 
257
  ##
258
  col1, col2 = st.columns([8, 2])
259
  with col1:
260
+ st.title("The Software Diversity Card Generator :busts_in_silhouette: ")
261
  with col2:
262
  # Theme options
263
  themes = {
264
+
265
+ "Light": {
266
+ "primaryColor": "#4CAF50",
267
+ "backgroundColor": "#FFFFFF",
268
+ "secondaryBackgroundColor": "#F0F2F6",
269
+ "textColor": "#262730",
270
+ },
271
  "Cool Blue": {
272
  "primaryColor" : "#007ACC", # A vibrant, clear blue
273
  "backgroundColor" : "#E6F7FF" , # A light, airy blue for a fresh feel
 
275
  "textColor" : "#003366" , # Deep navy for contrast
276
  "font" : "sans serif",
277
  },
 
 
 
 
 
 
278
  "Dark": {
279
  "primaryColor": "#BB86FC",
280
  "backgroundColor": "#121212",
 
335
  ])
336
 
337
  with governance:
338
+ col1, col2 = st.columns([3, 2])
339
+ with col2:
340
  #cached_text_input("Project Type", "governance_projectType", "Specify the type of software project (private, public funded, non-profit, driven by an open-source community, etc.)")
341
  cached_multiple_radio("governance_projectType",["public funded", "research", "private", "private non-profit", "driven by open-source community", "citizen science"],"Specify the type of software project")
342
+ with col1:
343
  # Multiple value
344
  key = "governance_govProcesses"
345
  init_state(key)
 
348
  if st.button("Add governament processes"):
349
  add_text_area(key)
350
  # Loop over the array and create a text area with a remove button for each element
351
+ for idx, processes in enumerate(st.session_state[key]):
352
+ # Create two columns: one for the text area, one for the remove button
353
+ col1, col2 = st.columns([6, 1])
354
+ with col1:
355
+ cached_text_area(f"Governament process {idx + 1}", f"governance_govProcesses_{idx}", "Specific the governance rules of the software project. For instance, the funders, or the role and the relation between the different bodies that governs the software.")
356
+ with col2:
357
+ # print(st.session_state['governance_govProcesses_remove_0'])
358
+ if st.button("Remove", key=f"remove_{key}_{idx}"):
359
+ remove_text_area(idx,key)
360
 
361
  # BODIES
362
  st.write("Add the different types of governament bodies of your software project (boards and funders)")
 
369
  for idx, text in enumerate(st.session_state[key]):
370
  # Create two columns: one for the text area, one for the remove button
371
  with st.container(border=True):
372
+ col1, col2 = st.columns([3, 2])
373
  with col1:
374
  cached_text_input("Body name", f"{key}_{idx}_name", "The name of id of the body")
375
  cached_text_area("Body description", f"{key}_{idx}_description", "A description of the body")
376
 
377
 
378
  with col2:
379
+ cached_multiple_radio(f"{key}_{idx}_type", ['funders', 'directors', 'administrators', 'other'], f"Body role type" )
380
  if st.button("Remove", key=f"{key}_remove_{idx}"):
381
  remove_text_area(idx,f"{key}_remove_{idx}")
382
+
383
 
384
  with st.expander("If needed provide detailed information about the organizations or individuals involved in the governance", expanded=False):
385
  # Button to add a new text area
 
468
  )
469
  # Display the session state as pretty JSON
470
  #st.json(serialize_session_state())
471
+ final = unflatten(st.session_state["form_data"])
472
  st.text("Preview:")
473
+ st.json(final)
474
 
session_state.json CHANGED
@@ -1 +1 @@
1
- {"master_title": "Besser", "master_desc": "The BESSER low-code platform is built on top of B-UML our Python-based personal interpretation of a 'Universal Modeling Language' (yes, heavily inspired and a simplified version of the better known UML, the Unified Modeling Language) ", "socialContext_description": "Besser is inteded to be used by a broad community of app developers without the need of having coding skills.", "socialContext_targetCommunity_name": "Teacher and student of computer science", "socialContext_targetCommunity_description": "Teacher and student of computer science", "socialContext_targetCommunity_age": [17, 120], "socialContext_targetCommunity_location": "University and education places", "socialContext_targetCommunity_workplace": "Hybrid", "socialContext_targetCommunity_ethnicities": "", "socialContext_targetCommunity_genders": "", "socialContext_targetCommunity_disabilities": "", "socialContext_targetCommunity_religious": "", "socialContext_adaptation_name": "Computer Science Teachers", "socialContext_adaptation_description": "The software have been adapted for its specific use in educational environments", "participants_0_name": "Development Team", "participants_0_description": "The team in charge of developing the software", "participants_0_size": 15, "participants_0_age": [25, 36], "participants_0_location": "Luxembourg Institute of Technoogy", "participants_0_workplace": "Presential", "participants_0_ethnicities": "Colombian,Brasilian, Argentinian, French ,Spanish, Pakistani, Serbian, Iranian, Morroco, Italian", "participants_0_genders": "80% male, 20% famela", "participants_0_disabilities": "Non", "participants_0_religious": "Christianism, Islam", "governance_projectType": ["public funded"], "governance_govProcesses0": "Besser is funded by the Luxembourg\u2019s National Research Fund (FNR) is the country\u2019s main agency for funding research across all scientific fields.", "governance_govProcesses1": "The project is led by the recipient of the funds, its principal investigator.", "governance_bodies_0_name": "Luxembourg\u2019s National Research Fund (FNR)", "governance_bodies_0_description": "Luxembourg\u2019s National Research Fund (FNR) is the country\u2019s main agency for funding research across all scientific fields.", "governance_bodies_0_participant_name": "", "governance_bodies_0_participant_location": "", "governance_bodies_0_participant_workdplace": "Presential", "governance_bodies_0_participant_ethincity": "", "governance_bodies_0_participant_gender": "", "governance_bodies_0_participant_disabilities": "", "governance_bodies_0_participant_sexualOrientation": "", "governance_bodies_0_participant_religion": "", "governance_bodies_0_organization_name": "", "governance_bodies_0_organization_age": [10, 20], "governance_bodies_0_organization_location": "", "governance_bodies_0_organization_workplace": "Presential", "governance_bodies_0_organization_ethnicities": "", "governance_bodies_0_organization_genders": "", "governance_bodies_0_organization_disabilities": "", "governance_bodies_0_organization_religious": "", "governance_bodies_0_type": ["funders"], "governance_bodies_1_name": "Principal Investigator", "governance_bodies_1_description": "The PI who lead the project ", "governance_bodies_1_participant_name": "Jordi Cabot", "governance_bodies_1_participant_location": "Luxembourg Institute of Science and Technology", "governance_bodies_1_participant_workdplace": "Presential", "governance_bodies_1_participant_ethincity": "White", "governance_bodies_1_participant_gender": "Male", "governance_bodies_1_participant_disabilities": "None", "governance_bodies_1_participant_sexualOrientation": "Non-disclosed", "governance_bodies_1_participant_religion": "Non-disclosed", "governance_bodies_1_organization_name": "", "governance_bodies_1_organization_age": [10, 20], "governance_bodies_1_organization_location": "", "governance_bodies_1_organization_workplace": "Presential", "governance_bodies_1_organization_ethnicities": "", "governance_bodies_1_organization_genders": "", "governance_bodies_1_organization_disabilities": "", "governance_bodies_1_organization_religious": "", "governance_bodies_1_type": ["directors"], "governance_bodies_1_participant": 25.0, "governance_bodies_1_participant_countries": [], "governance_bodies_1_participant_edlevel": [], "governance_bodies_1_participant_sociostati": [], "governance_bodies_1_participant_skills": ["expert"], "governance_bodies_1_participant_languages": [], "socialContext_countries": ["Luxembourg", "France", "Germany", "Spain"], "socialContext_targetCommunity_countries": ["Luxembourg", "France"], "socialContext_targetCommunity_skills": ["beginner", "competent"], "participants_0_type": ["Tester Team"], "participants_0_countries": [], "participants_0_edlevel": [], "participants_0_skills": [], "participants_1_name": "Usability test team", "participants_1_description": "Tester are student of the computer science degree at the Luxembourg University. Using the backend generator from scratch with the documentation of BESSER (with a given PlantUML, library model)\n Using ChatGPT4o only giving the PlantUML model and no hand coding", "participants_1_size": 22, "participants_1_age": [20, 22], "participants_1_location": "University of Luxembourg", "participants_1_workplace": "Presential", "participants_1_ethnicities": "French", "participants_1_genders": "", "participants_1_disabilities": "", "participants_1_religious": "", "participants_1_type": ["Tester Team"], "participants_1_countries": [], "participants_1_edlevel": [], "participants_1_skills": [], "governance_bodies_1_organization": 25.0, "socialContext_targetCommunity_languages": ["French", "Luxembourgish-Letzeburgesch", "English"], "participants_0_languages": [], "participants_1_languages": []}
 
1
+ {"master_title": "Besser", "master_desc": "The BESSER low-code platform is built on top of B-UML our Python-based personal interpretation of a 'Universal Modeling Language' (yes, heavily inspired and a simplified version of the better known UML, the Unified Modeling Language) ", "socialContext_description": "Besser is inteded to be used by a broad community of app developers without the need of having coding skills.", "socialContext_targetCommunity_name": "Teacher and student of computer science", "socialContext_targetCommunity_description": "Teacher and student of computer science", "socialContext_targetCommunity_age": [17, 120], "socialContext_targetCommunity_location": "University and education places", "socialContext_targetCommunity_workplace": "Hybrid", "socialContext_targetCommunity_ethnicities": "", "socialContext_targetCommunity_genders": "", "socialContext_targetCommunity_disabilities": "", "socialContext_targetCommunity_religious": "", "socialContext_adaptation_name": "Computer Science Teachers", "socialContext_adaptation_description": "The software have been adapted for its specific use in educational environments", "participants_0_name": "Development Team", "participants_0_description": "The team in charge of developing the software", "participants_0_size": 15, "participants_0_age": [25, 36], "participants_0_location": "Luxembourg Institute of Technoogy", "participants_0_workplace": "Presential", "participants_0_ethnicities": "Colombian,Brasilian, Argentinian, French ,Spanish, Pakistani, Serbian, Iranian, Morroco, Italian", "participants_0_genders": "80% male, 20% famela", "participants_0_disabilities": "Non", "participants_0_religious": "Christianism, Islam", "governance_projectType": ["public funded"], "governance_govProcesses_0": "Besser is funded by the Luxembourg\u2019s National Research Fund (FNR) is the country\u2019s main agency for funding research across all scientific fields.", "governance_govProcesses_1": "The project is led by the recipient of the funds, its principal investigator.", "governance_bodies_0_name": "Luxembourg\u2019s National Research Fund (FNR)", "governance_bodies_0_description": "Luxembourg\u2019s National Research Fund (FNR) is the country\u2019s main agency for funding research across all scientific fields.", "governance_bodies_0_participant_name": "", "governance_bodies_0_participant_location": "", "governance_bodies_0_participant_workdplace": "Presential", "governance_bodies_0_participant_ethincity": "", "governance_bodies_0_participant_gender": "", "governance_bodies_0_participant_disabilities": "", "governance_bodies_0_participant_sexualOrientation": "", "governance_bodies_0_participant_religion": "", "governance_bodies_0_organization_name": "", "governance_bodies_0_organization_age": [10, 20], "governance_bodies_0_organization_location": "", "governance_bodies_0_organization_workplace": "Presential", "governance_bodies_0_organization_ethnicities": "", "governance_bodies_0_organization_genders": "", "governance_bodies_0_organization_disabilities": "", "governance_bodies_0_organization_religious": "", "governance_bodies_0_type": ["funders"], "governance_bodies_1_name": "Principal Investigator", "governance_bodies_1_description": "The PI who lead the project ", "governance_bodies_1_participant_name": "Jordi Cabot", "governance_bodies_1_participant_location": "Luxembourg Institute of Science and Technology", "governance_bodies_1_participant_workdplace": "Presential", "governance_bodies_1_participant_ethincity": "White", "governance_bodies_1_participant_gender": "Male", "governance_bodies_1_participant_disabilities": "None", "governance_bodies_1_participant_sexualOrientation": "Non-disclosed", "governance_bodies_1_participant_religion": "Non-disclosed", "governance_bodies_1_organization_name": "", "governance_bodies_1_organization_age": [10, 20], "governance_bodies_1_organization_location": "", "governance_bodies_1_organization_workplace": "Presential", "governance_bodies_1_organization_ethnicities": "", "governance_bodies_1_organization_genders": "", "governance_bodies_1_organization_disabilities": "", "governance_bodies_1_organization_religious": "", "governance_bodies_1_type": ["directors"], "governance_bodies_1_participant": 25.0, "governance_bodies_1_participant_countries": [], "governance_bodies_1_participant_edlevel": [], "governance_bodies_1_participant_sociostati": [], "governance_bodies_1_participant_skills": ["expert"], "governance_bodies_1_participant_languages": [], "socialContext_countries": ["Luxembourg", "France", "Germany", "Spain"], "socialContext_targetCommunity_countries": ["Luxembourg", "France"], "socialContext_targetCommunity_skills": ["beginner", "competent"], "participants_0_type": ["Tester Team"], "participants_0_countries": [], "participants_0_edlevel": [], "participants_0_skills": [], "participants_1_name": "Usability test team", "participants_1_description": "Tester are student of the computer science degree at the Luxembourg University. Using the backend generator from scratch with the documentation of BESSER (with a given PlantUML, library model)\n Using ChatGPT4o only giving the PlantUML model and no hand coding", "participants_1_size": 22, "participants_1_age": [20, 22], "participants_1_location": "University of Luxembourg", "participants_1_workplace": "Presential", "participants_1_ethnicities": "French", "participants_1_genders": "", "participants_1_disabilities": "", "participants_1_religious": "", "participants_1_type": ["Tester Team"], "participants_1_countries": [], "participants_1_edlevel": [], "participants_1_skills": [], "governance_bodies_1_organization": 25.0, "socialContext_targetCommunity_languages": ["French", "Luxembourgish-Letzeburgesch", "English"], "participants_0_languages": [], "participants_1_languages": [], "governance_bodies_2_name": "", "governance_bodies_2_description": "", "governance_bodies_2_participant_name": "", "governance_bodies_2_participant_location": "", "governance_bodies_2_participant_workdplace": "Presential", "governance_bodies_2_participant_ethincity": "", "governance_bodies_2_participant_gender": "", "governance_bodies_2_participant_disabilities": "", "governance_bodies_2_participant_sexualOrientation": "", "governance_bodies_2_participant_religion": "", "governance_bodies_2_organization_name": "", "governance_bodies_2_organization_age": [10, 20], "governance_bodies_2_organization_location": "", "governance_bodies_2_organization_workplace": "Presential", "governance_bodies_2_organization_ethnicities": "", "governance_bodies_2_organization_genders": "", "governance_bodies_2_organization_disabilities": "", "governance_bodies_2_organization_religious": ""}