from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'demographic' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 nationalitesFR = [ ["Française", "Française"], ["Afghane", "Afghane"], ["Albanaise", "Albanaise"], ["Algérienne", "Algérienne"], ["Allemande", "Allemande"], ["Américaine", "Américaine"], ["Andorrane", "Andorrane"], ["Angolaise", "Angolaise"], ["Antiguaise et barbudienne", "Antiguaise et barbudienne"], ["Argentine", "Argentine"], ["Arménienne", "Arménienne"], ["Australienne", "Australienne"], ["Autrichienne", "Autrichienne"], ["Azerbaïdjanaise", "Azerbaïdjanaise"], ["Bahamienne", "Bahamienne"], ["Bahreinienne", "Bahreinienne"], ["Bangladaise", "Bangladaise"], ["Barbadienne", "Barbadienne"], ["Belge", "Belge"], ["Bélizienne", "Bélizienne"], ["Béninoise", "Béninoise"], ["Bhoutanaise", "Bhoutanaise"], ["Biélorusse", "Biélorusse"], ["Birmane", "Birmane"], ["Bissau-Guinéenne", "Bissau-Guinéenne"], ["Bolivienne", "Bolivienne"], ["Bosnienne", "Bosnienne"], ["Botswanaise", "Botswanaise"], ["Brésilienne", "Brésilienne"], ["Britannique (RU)", "Britannique (RU)"], ["Bruneienne", "Bruneienne"], ["Bulgare", "Bulgare"], ["Burkinabé", "Burkinabé"], ["Burundaise", "Burundaise"], ["Cambodgienne", "Cambodgienne"], ["Camerounaise", "Camerounaise"], ["Canadienne", "Canadienne"], ["Cap-verdienne", "Cap-verdienne"], ["Centrafricaine", "Centrafricaine"], ["Chilienne", "Chilienne"], ["Chinoise", "Chinoise"], ["Chypriote", "Chypriote"], ["Colombienne", "Colombienne"], ["Comorienne", "Comorienne"], ["Congolaise", "Congolaise"], ["Congolaise (Kinshasa)", "Congolaise (Kinshasa)"], ["Costaricaine", "Costaricaine"], ["Croate", "Croate"], ["Cubaine", "Cubaine"], ["Danoise", "Danoise"], ["Djiboutienne", "Djiboutienne"], ["Dominicaine", "Dominicaine"], ["Dominiquaise", "Dominiquaise"], ["Egyptienne", "Egyptienne"], ["Emirienne", "Emirienne"], ["Equato-guinéenne", "Equato-guinéenne"], ["Equatorienne", "Equatorienne"], ["Erythréenne", "Erythréenne"], ["Espagnole", "Espagnole"], ["Estonienne", "Estonienne"], ["Est-timoraise", "Est-timoraise"], ["Ethiopienne", "Ethiopienne"], ["Fidjienne", "Fidjienne"], ["Finlandaise", "Finlandaise"], ["Française", "Française"], ["Gabonaise", "Gabonaise"], ["Gambienne", "Gambienne"], ["Georgienne", "Georgienne"], ["Ghanéenne", "Ghanéenne"], ["Grenadienne", "Grenadienne"], ["Guatemaltèque", "Guatemaltèque"], ["Guinéenne", "Guinéenne"], ["Guyanaise (Guyana)", "Guyanaise (Guyana)"], ["Guyanienne", "Guyanienne"], ["Haïtienne", "Haïtienne"], ["Hellénique", "Hellénique"], ["Hondurienne", "Hondurienne"], ["Hongroise", "Hongroise"], ["Indienne", "Indienne"], ["Indonésienne", "Indonésienne"], ["Irakienne", "Irakienne"], ["Iranienne", "Iranienne"], ["Irlandaise", "Irlandaise"], ["Islandaise", "Islandaise"], ["Israélienne", "Israélienne"], ["Italienne", "Italienne"], ["Ivoirienne", "Ivoirienne"], ["Jamaïcaine", "Jamaïcaine"], ["Japonaise", "Japonaise"], ["Jordanienne", "Jordanienne"], ["Kazakhstanaise", "Kazakhstanaise"], ["Kenyane", "Kenyane"], ["Kirghize", "Kirghize"], ["Kiribatienne", "Kiribatienne"], ["Kittitienne-et-névicienne", "Kittitienne-et-névicienne"], ["Koweitienne", "Koweitienne"], ["Laotienne", "Laotienne"], ["Lesothane", "Lesothane"], ["Lettone", "Lettone"], ["Libanaise", "Libanaise"], ["Libérienne", "Libérienne"], ["Libyenne", "Libyenne"], ["Liechtensteinoise", "Liechtensteinoise"], ["Lituanienne", "Lituanienne"], ["Luxembourgeoise", "Luxembourgeoise"], ["Macédonienne", "Macédonienne"], ["Malaisienne", "Malaisienne"], ["Malawienne", "Malawienne"], ["Maldivienne", "Maldivienne"], ["Malgache", "Malgache"], ["Malienne", "Malienne"], ["Maltaise", "Maltaise"], ["Marocaine", "Marocaine"], ["Marshallaise", "Marshallaise"], ["Mauricienne", "Mauricienne"], ["Mauritanienne", "Mauritanienne"], ["Mexicaine", "Mexicaine"], ["Micronésienne", "Micronésienne"], ["Moldave", "Moldave"], ["Monégasque", "Monégasque"], ["Mongole", "Mongole"], ["Monténégrine", "Monténégrine"], ["Mozambicaine", "Mozambicaine"], ["Namibienne", "Namibienne"], ["Nauruane", "Nauruane"], ["Néerlandaise", "Néerlandaise"], ["Neo-zélandaise", "Neo-zélandaise"], ["Népalaise", "Népalaise"], ["Nicaraguayenne", "Nicaraguayenne"], ["Nigériane", "Nigériane"], ["Nigérienne", "Nigérienne"], ["Nord-coréenne", "Nord-coréenne"], ["Norvégienne", "Norvégienne"], ["Omanaise", "Omanaise"], ["Ougandaise", "Ougandaise"], ["Ouzbeke", "Ouzbeke"], ["Pakistanaise", "Pakistanaise"], ["Palau", "Palau"], ["Palestinienne", "Palestinienne"], ["Panaméenne", "Panaméenne"], ["Papouane-neoguinéenne", "Papouane-neoguinéenne"], ["Paraguayenne", "Paraguayenne"], ["Péruvienne", "Péruvienne"], ["Philippine", "Philippine"], ["Polonaise", "Polonaise"], ["Portoricaine", "Portoricaine"], ["Portugaise", "Portugaise"], ["Qatarienne", "Qatarienne"], ["Roumaine", "Roumaine"], ["Russe", "Russe"], ["Rwandaise", "Rwandaise"], ["Saint-Lucienne", "Saint-Lucienne"], ["Saint-Marinaise", "Saint-Marinaise"], ["Saint-Vincentaise-et-Grenadine", "Saint-Vincentaise-et-Grenadine"], ["Salomonaise", "Salomonaise"], ["Salvadorienne", "Salvadorienne"], ["Samoane", "Samoane"], ["Santoméenne", "Santoméenne"], ["Saoudienne", "Saoudienne"], ["Sénégalaise", "Sénégalaise"], ["Serbe", "Serbe"], ["Seychelloise", "Seychelloise"], ["Sierra-leonaise", "Sierra-leonaise"], ["Singapourienne", "Singapourienne"], ["Slovaque", "Slovaque"], ["Slovène", "Slovène"], ["Somalienne", "Somalienne"], ["Soudanaise", "Soudanaise"], ["Sri-lankaise", "Sri-lankaise"], ["Sud soudanaise", "Sud soudanaise"], ["Sud-africaine", "Sud-africaine"], ["Sud-coréenne", "Sud-coréenne"], ["Suédoise", "Suédoise"], ["Suisse", "Suisse"], ["Surinamaise", "Surinamaise"], ["Syrienne", "Syrienne"], ["Tadjike", "Tadjike"], ["Taiwanaise", "Taiwanaise"], ["Tanzanienne", "Tanzanienne"], ["Tchadienne", "Tchadienne"], ["Tchèque", "Tchèque"], ["Thaïlandaise", "Thaïlandaise"], ["Togolaise", "Togolaise"], ["Tongienne", "Tongienne"], ["Trinidadienne", "Trinidadienne"], ["Tunisienne", "Tunisienne"], ["Turkmène", "Turkmène"], ["Turque", "Turque"], ["Tuvaluane", "Tuvaluane"], ["Ukrainienne", "Ukrainienne"], ["Uruguayenne", "Uruguayenne"], ["Vanuatuane", "Vanuatuane"], ["Vénézuélienne", "Vénézuélienne"], ["Vietnamienne", "Vietnamienne"], ["Yéménite", "Yéménite"], ["Zambienne", "Zambienne"], ["Zimbabwéenne", "Zimbabwéenne"], ] nationality_list = nationalitesFR.copy() class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): gender = models.StringField( choices=["Un homme", "Une femme", "Autre"], label="Vous êtes ?" ) year_birth = models.StringField( min=0, max=99, label="Quel est votre âge ?" ) nationality = models.StringField( choices=C.nationality_list, label="Quelle est votre nationalité ?" ) occupation = models.StringField( choices=["En activité", "Étudiant", "Sans emploi", "Retraité"], label="Quelle est votre occupation actuelle ?" ) diploma = models.StringField( choices=("Brevet", "Baccalauréat ou équivalent", "Licence", "Master", "Doctorat ou supérieur", 'Autre'), label="Quel est le dernier diplôme que vous avez obtenu ?" ) # PAGES class Demo(Page): form_model = 'player' form_fields = ["gender", "year_birth", "nationality", "occupation", "diploma"] class Presentation(Page): pass page_sequence = [Presentation, Demo]