from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random import string doc = """ これは3人グループで行われるゲームです。 """ #メモ:所得がうまく反映されていない…ポイントの持ち越しが必要になったら確認。必要じゃなかったら消去 class Constants(BaseConstants): name_in_url = 'public_goods_unknown_benefit' players_per_group = 3 num_rounds = 1 instructions_template = 'public_goods_unknown_benefit/instructions.html' # """Amount allocated to each player""" multiplier = 1 endowment = 0 class Subsession(BaseSubsession): def creating_sessions(self): self.group_randomly() class Group(BaseGroup): #平時 def set_earning0(self): for p in self.get_players(): p.earning0 = c(0) if p.que0A == p.ans0A: p.earning0 += c(5) if p.que0B == p.ans0B: p.earning0 += c(5) if p.que0C == p.ans0C: p.earning0 += c(5) if p.que0D == p.ans0D: p.earning0 += c(5) if p.que0E == p.ans0E: p.earning0 += c(5) if p.que0F == p.ans0F: p.earning0 += c(5) if p.que0G == p.ans0G: p.earning0 += c(5) if p.que0H == p.ans0H: p.earning0 += c(5) if p.que0I == p.ans0I: p.earning0 += c(5) if p.que0J == p.ans0J: p.earning0 += c(5) if p.que0K == p.ans0K: p.earning0 += c(5) if p.que0L == p.ans0L: p.earning0 += c(5) if p.que0M == p.ans0M: p.earning0 += c(5) if p.que0N == p.ans0N: p.earning0 += c(5) if p.que0O == p.ans0O: p.earning0 += c(5) if p.que0P == p.ans0P: p.earning0 += c(5) if p.que0Q == p.ans0Q: p.earning0 += c(5) if p.que0R == p.ans0R: p.earning0 += c(5) if p.que0S == p.ans0S: p.earning0 += c(5) if p.que0T == p.ans0T: p.earning0 += c(5) if p.que0U == p.ans0U: p.earning0 += c(5) if p.que0V == p.ans0V: p.earning0 += c(5) if p.que0W == p.ans0W: p.earning0 += c(5) if p.que0X == p.ans0X: p.earning0 += c(5) if p.que0Y == p.ans0Y: p.earning0 += c(5) if p.que0Z == p.ans0Z: p.earning0 += c(5) #1周目 veto1 = models.IntegerField( choices=[ [1, '同意'], [2, '拒否'], ], label='''あなたはプロジェクトに同意しますか?''' ) def set_earning1(self): for p in self.get_players(): p.earning1 = c(0) if p.que1A == p.ans1A: p.earning1 += c(5) if p.que1B == p.ans1B: p.earning1 += c(5) if p.que1C == p.ans1C: p.earning1 += c(5) if p.que1D == p.ans1D: p.earning1 += c(5) if p.que1E == p.ans1E: p.earning1 += c(5) if p.que1F == p.ans1F: p.earning1 += c(5) if p.que1G == p.ans1G: p.earning1 += c(5) if p.que1H == p.ans1H: p.earning1 += c(5) if p.que1I == p.ans1I: p.earning1 += c(5) if p.que1J == p.ans1J: p.earning1 += c(5) if p.que1K == p.ans1K: p.earning1 += c(5) if p.que1L == p.ans1L: p.earning1 += c(5) if p.que1M == p.ans1M: p.earning1 += c(5) if p.que1N == p.ans1N: p.earning1 += c(5) if p.que1O == p.ans1O: p.earning1 += c(5) if p.que1P == p.ans1P: p.earning1 += c(5) if p.que1Q == p.ans1Q: p.earning1 += c(5) if p.que1R == p.ans1R: p.earning1 += c(5) if p.que1S == p.ans1S: p.earning1 += c(5) if p.que1T == p.ans1T: p.earning1 += c(5) if p.que1U == p.ans1U: p.earning1 += c(5) if p.que1V == p.ans1V: p.earning1 += c(5) if p.que1W == p.ans1W: p.earning1 += c(5) if p.que1X == p.ans1X: p.earning1 += c(5) if p.que1Y == p.ans1Y: p.earning1 += c(5) if p.que1Z == p.ans1Z: p.earning1 += c(5) def set_earning1b(self): for p in self.get_players(): p.earning1b = c(0) if p.que1bA == p.ans1bA: p.earning1b += c(5) if p.que1bB == p.ans1bB: p.earning1b += c(5) if p.que1bC == p.ans1bC: p.earning1b += c(5) if p.que1bD == p.ans1bD: p.earning1b += c(5) if p.que1bE == p.ans1bE: p.earning1b += c(5) if p.que1bF == p.ans1bF: p.earning1b += c(5) if p.que1bG == p.ans1bG: p.earning1b += c(5) if p.que1bH == p.ans1bH: p.earning1b += c(5) if p.que1bI == p.ans1bI: p.earning1b += c(5) if p.que1bJ == p.ans1bJ: p.earning1b += c(5) if p.que1bK == p.ans1bK: p.earning1b += c(5) if p.que1bL == p.ans1bL: p.earning1b += c(5) if p.que1bM == p.ans1bM: p.earning1b += c(5) if p.que1bN == p.ans1bN: p.earning1b += c(5) if p.que1bO == p.ans1bO: p.earning1b += c(5) if p.que1bP == p.ans1bP: p.earning1b += c(5) if p.que1bQ == p.ans1bQ: p.earning1b += c(5) if p.que1bR == p.ans1bR: p.earning1b += c(5) if p.que1bS == p.ans1bS: p.earning1b += c(5) if p.que1bT == p.ans1bT: p.earning1b += c(5) if p.que1bU == p.ans1bU: p.earning1b += c(5) if p.que1bV == p.ans1bV: p.earning1b += c(5) if p.que1bW == p.ans1bW: p.earning1b += c(5) if p.que1bX == p.ans1bX: p.earning1b += c(5) if p.que1bY == p.ans1bY: p.earning1b += c(5) if p.que1bZ == p.ans1bZ: p.earning1b += c(5) def set_earning1n(self): for p in self.get_players(): p.earning1n = c(0) if p.que1nA == p.ans1nA: p.earning1n += c(5) if p.que1nB == p.ans1nB: p.earning1n += c(5) if p.que1nC == p.ans1nC: p.earning1n += c(5) if p.que1nD == p.ans1nD: p.earning1n += c(5) if p.que1nE == p.ans1nE: p.earning1n += c(5) if p.que1nF == p.ans1nF: p.earning1n += c(5) if p.que1nG == p.ans1nG: p.earning1n += c(5) if p.que1nH == p.ans1nH: p.earning1n += c(5) if p.que1nI == p.ans1nI: p.earning1n += c(5) if p.que1nJ == p.ans1nJ: p.earning1n += c(5) if p.que1nK == p.ans1nK: p.earning1n += c(5) if p.que1nL == p.ans1nL: p.earning1n += c(5) if p.que1nM == p.ans1nM: p.earning1n += c(5) if p.que1nN == p.ans1nN: p.earning1n += c(5) if p.que1nO == p.ans1nO: p.earning1n += c(5) if p.que1nP == p.ans1nP: p.earning1n += c(5) if p.que1nQ == p.ans1nQ: p.earning1n += c(5) if p.que1nR == p.ans1nR: p.earning1n += c(5) if p.que1nS == p.ans1nS: p.earning1n += c(5) if p.que1nT == p.ans1nT: p.earning1n += c(5) if p.que1nU == p.ans1nU: p.earning1n += c(5) if p.que1nV == p.ans1nV: p.earning1n += c(5) if p.que1nW == p.ans1nW: p.earning1n += c(5) if p.que1nX == p.ans1nX: p.earning1n += c(5) if p.que1nY == p.ans1nY: p.earning1n += c(5) if p.que1nZ == p.ans1nZ: p.earning1n += c(5) def set_payoffs1b(self): for p in self.get_players(): if p.id_in_group == 1: p.payoff1 = p.earning0*0.7 + p.earning1b else: p.payoff1 = p.earning1 + p.earning1b def set_payoffs1n(self): for p in self.get_players(): p.payoff1 = p.earning1 + p.earning1n #2周目 veto2 = models.IntegerField( choices=[ [1, '同意'], [2, '拒否'], ], label='''あなたはプロジェクトに同意しますか?''' ) def set_earning2(self): for p in self.get_players(): p.earning2 = c(0) if p.que2A == p.ans2A: p.earning2 += c(5) if p.que2B == p.ans2B: p.earning2 += c(5) if p.que2C == p.ans2C: p.earning2 += c(5) if p.que2D == p.ans2D: p.earning2 += c(5) if p.que2E == p.ans2E: p.earning2 += c(5) if p.que2F == p.ans2F: p.earning2 += c(5) if p.que2G == p.ans2G: p.earning2 += c(5) if p.que2H == p.ans2H: p.earning2 += c(5) if p.que2I == p.ans2I: p.earning2 += c(5) if p.que2J == p.ans2J: p.earning2 += c(5) if p.que2K == p.ans2K: p.earning2 += c(5) if p.que2L == p.ans2L: p.earning2 += c(5) if p.que2M == p.ans2M: p.earning2 += c(5) if p.que2N == p.ans2N: p.earning2 += c(5) if p.que2O == p.ans2O: p.earning2 += c(5) if p.que2P == p.ans2P: p.earning2 += c(5) if p.que2Q == p.ans2Q: p.earning2 += c(5) if p.que2R == p.ans2R: p.earning2 += c(5) if p.que2S == p.ans2S: p.earning2 += c(5) if p.que2T == p.ans2T: p.earning2 += c(5) if p.que2U == p.ans2U: p.earning2 += c(5) if p.que2V == p.ans2V: p.earning2 += c(5) if p.que2W == p.ans2W: p.earning2 += c(5) if p.que2X == p.ans2X: p.earning2 += c(5) if p.que2Y == p.ans2Y: p.earning2 += c(5) if p.que2Z == p.ans2Z: p.earning2 += c(5) def set_earning2b(self): for p in self.get_players(): p.earning2b = c(0) if p.que2bA == p.ans2bA: p.earning2b += c(5) if p.que2bB == p.ans2bB: p.earning2b += c(5) if p.que2bC == p.ans2bC: p.earning2b += c(5) if p.que2bD == p.ans2bD: p.earning2b += c(5) if p.que2bE == p.ans2bE: p.earning2b += c(5) if p.que2bF == p.ans2bF: p.earning2b += c(5) if p.que2bG == p.ans2bG: p.earning2b += c(5) if p.que2bH == p.ans2bH: p.earning2b += c(5) if p.que2bI == p.ans2bI: p.earning2b += c(5) if p.que2bJ == p.ans2bJ: p.earning2b += c(5) if p.que2bK == p.ans2bK: p.earning2b += c(5) if p.que2bL == p.ans2bL: p.earning2b += c(5) if p.que2bM == p.ans2bM: p.earning2b += c(5) if p.que2bN == p.ans2bN: p.earning2b += c(5) if p.que2bO == p.ans2bO: p.earning2b += c(5) if p.que2bP == p.ans2bP: p.earning2b += c(5) if p.que2bQ == p.ans2bQ: p.earning2b += c(5) if p.que2bR == p.ans2bR: p.earning2b += c(5) if p.que2bS == p.ans2bS: p.earning2b += c(5) if p.que2bT == p.ans2bT: p.earning2b += c(5) if p.que2bU == p.ans2bU: p.earning2b += c(5) if p.que2bV == p.ans2bV: p.earning2b += c(5) if p.que2bW == p.ans2bW: p.earning2b += c(5) if p.que2bX == p.ans2bX: p.earning2b += c(5) if p.que2bY == p.ans2bY: p.earning2b += c(5) if p.que2bZ == p.ans2bZ: p.earning2b += c(5) def set_earning2n(self): for p in self.get_players(): p.earning2n = c(0) if p.que2nA == p.ans2nA: p.earning2n += c(5) if p.que2nB == p.ans2nB: p.earning2n += c(5) if p.que2nC == p.ans2nC: p.earning2n += c(5) if p.que2nD == p.ans2nD: p.earning2n += c(5) if p.que2nE == p.ans2nE: p.earning2n += c(5) if p.que2nF == p.ans2nF: p.earning2n += c(5) if p.que2nG == p.ans2nG: p.earning2n += c(5) if p.que2nH == p.ans2nH: p.earning2n += c(5) if p.que2nI == p.ans2nI: p.earning2n += c(5) if p.que2nJ == p.ans2nJ: p.earning2n += c(5) if p.que2nK == p.ans2nK: p.earning2n += c(5) if p.que2nL == p.ans2nL: p.earning2n += c(5) if p.que2nM == p.ans2nM: p.earning2n += c(5) if p.que2nN == p.ans2nN: p.earning2n += c(5) if p.que2nO == p.ans2nO: p.earning2n += c(5) if p.que2nP == p.ans2nP: p.earning2n += c(5) if p.que2nQ == p.ans2nQ: p.earning2n += c(5) if p.que2nR == p.ans2nR: p.earning2n += c(5) if p.que2nS == p.ans2nS: p.earning2n += c(5) if p.que2nT == p.ans2nT: p.earning2n += c(5) if p.que2nU == p.ans2nU: p.earning2n += c(5) if p.que2nV == p.ans2nV: p.earning2n += c(5) if p.que2nW == p.ans2nW: p.earning2n += c(5) if p.que2nX == p.ans2nX: p.earning2n += c(5) if p.que2nY == p.ans2nY: p.earning2n += c(5) if p.que2nZ == p.ans2nZ: p.earning2n += c(5) def set_payoffs2b(self): for p in self.get_players(): if p.id_in_group == 2: p.payoff2 = p.earning0*0.7 + p.earning2b p.payoff1_2 = p.earning0*0.7 + p.earning2b + p.payoff1 else: p.payoff2 = p.earning2 + p.earning2b p.payoff1_2 = p.earning2 + p.earning2b + p.payoff1 def set_payoffs2n(self): for p in self.get_players(): p.payoff2 = p.earning2 + p.earning2n p.payoff1_2 = p.earning2 + p.earning2n + p.payoff1 #3周目 veto3 = models.IntegerField( choices=[ [1, '同意'], [2, '拒否'], ], label='''あなたはプロジェクトに同意しますか?''' ) def set_earning3(self): for p in self.get_players(): p.earning3 = c(0) if p.que3A == p.ans3A: p.earning3 += c(5) if p.que3B == p.ans3B: p.earning3 += c(5) if p.que3C == p.ans3C: p.earning3 += c(5) if p.que3D == p.ans3D: p.earning3 += c(5) if p.que3E == p.ans3E: p.earning3 += c(5) if p.que3F == p.ans3F: p.earning3 += c(5) if p.que3G == p.ans3G: p.earning3 += c(5) if p.que3H == p.ans3H: p.earning3 += c(5) if p.que3I == p.ans3I: p.earning3 += c(5) if p.que3J == p.ans3J: p.earning3 += c(5) if p.que3K == p.ans3K: p.earning3 += c(5) if p.que3L == p.ans3L: p.earning3 += c(5) if p.que3M == p.ans3M: p.earning3 += c(5) if p.que3N == p.ans3N: p.earning3 += c(5) if p.que3O == p.ans3O: p.earning3 += c(5) if p.que3P == p.ans3P: p.earning3 += c(5) if p.que3Q == p.ans3Q: p.earning3 += c(5) if p.que3R == p.ans3R: p.earning3 += c(5) if p.que3S == p.ans3S: p.earning3 += c(5) if p.que3T == p.ans3T: p.earning3 += c(5) if p.que3U == p.ans3U: p.earning3 += c(5) if p.que3V == p.ans3V: p.earning3 += c(5) if p.que3W == p.ans3W: p.earning3 += c(5) if p.que3X == p.ans3X: p.earning3 += c(5) if p.que3Y == p.ans3Y: p.earning3 += c(5) if p.que3Z == p.ans3Z: p.earning3 += c(5) def set_earning3b(self): for p in self.get_players(): p.earning3b = c(0) if p.que3bA == p.ans3bA: p.earning3b += c(5) if p.que3bB == p.ans3bB: p.earning3b += c(5) if p.que3bC == p.ans3bC: p.earning3b += c(5) if p.que3bD == p.ans3bD: p.earning3b += c(5) if p.que3bE == p.ans3bE: p.earning3b += c(5) if p.que3bF == p.ans3bF: p.earning3b += c(5) if p.que3bG == p.ans3bG: p.earning3b += c(5) if p.que3bH == p.ans3bH: p.earning3b += c(5) if p.que3bI == p.ans3bI: p.earning3b += c(5) if p.que3bJ == p.ans3bJ: p.earning3b += c(5) if p.que3bK == p.ans3bK: p.earning3b += c(5) if p.que3bL == p.ans3bL: p.earning3b += c(5) if p.que3bM == p.ans3bM: p.earning3b += c(5) if p.que3bN == p.ans3bN: p.earning3b += c(5) if p.que3bO == p.ans3bO: p.earning3b += c(5) if p.que3bP == p.ans3bP: p.earning3b += c(5) if p.que3bQ == p.ans3bQ: p.earning3b += c(5) if p.que3bR == p.ans3bR: p.earning3b += c(5) if p.que3bS == p.ans3bS: p.earning3b += c(5) if p.que3bT == p.ans3bT: p.earning3b += c(5) if p.que3bU == p.ans3bU: p.earning3b += c(5) if p.que3bV == p.ans3bV: p.earning3b += c(5) if p.que3bW == p.ans3bW: p.earning3b += c(5) if p.que3bX == p.ans3bX: p.earning3b += c(5) if p.que3bY == p.ans3bY: p.earning3b += c(5) if p.que3bZ == p.ans3bZ: p.earning3b += c(5) def set_earning3n(self): for p in self.get_players(): p.earning3n = c(0) if p.que3nA == p.ans3nA: p.earning3n += c(5) if p.que3nB == p.ans3nB: p.earning3n += c(5) if p.que3nC == p.ans3nC: p.earning3n += c(5) if p.que3nD == p.ans3nD: p.earning3n += c(5) if p.que3nE == p.ans3nE: p.earning3n += c(5) if p.que3nF == p.ans3nF: p.earning3n += c(5) if p.que3nG == p.ans3nG: p.earning3n += c(5) if p.que3nH == p.ans3nH: p.earning3n += c(5) if p.que3nI == p.ans3nI: p.earning3n += c(5) if p.que3nJ == p.ans3nJ: p.earning3n += c(5) if p.que3nK == p.ans3nK: p.earning3n += c(5) if p.que3nL == p.ans3nL: p.earning3n += c(5) if p.que3nM == p.ans3nM: p.earning3n += c(5) if p.que3nN == p.ans3nN: p.earning3n += c(5) if p.que3nO == p.ans3nO: p.earning3n += c(5) if p.que3nP == p.ans3nP: p.earning3n += c(5) if p.que3nQ == p.ans3nQ: p.earning3n += c(5) if p.que3nR == p.ans3nR: p.earning3n += c(5) if p.que3nS == p.ans3nS: p.earning3n += c(5) if p.que3nT == p.ans3nT: p.earning3n += c(5) if p.que3nU == p.ans3nU: p.earning3n += c(5) if p.que3nV == p.ans3nV: p.earning3n += c(5) if p.que3nW == p.ans3nW: p.earning3n += c(5) if p.que3nX == p.ans3nX: p.earning3n += c(5) if p.que3nY == p.ans3nY: p.earning3n += c(5) if p.que3nZ == p.ans3nZ: p.earning3n += c(5) def set_payoffs3b(self): for p in self.get_players(): if p.id_in_group == 3: p.payoff3 = p.earning0*0.7 + p.earning3b p.payoff1_3 = p.earning0*0.7 + p.earning2b + p.payoff1 + p.payoff2 else: p.payoff3 = p.earning3 + p.earning3b p.payoff1_3 = p.earning2 + p.earning2b + p.payoff1 + p.payoff2 def set_payoffs3n(self): for p in self.get_players(): p.payoff3 = p.earning3 + p.earning3n p.payoff1_3 = p.earning3 + p.earning3n + p.payoff1 + p.payoff2 class Player(BasePlayer): feelings0_1 = models.IntegerField( choices=[ [1, '強く反対'], [2, '反対'], [3, 'どちらでもない'], [4, '賛成'], [5, '強く賛成'], ], label='''あなたは自分が土地を提供せねばならなくなったとしてもプロジェクトに賛成しますか?''' ) earning0 = models.CurrencyField(initial=0) #1周目 feelings1_1 = models.IntegerField( choices=[ [1, 'とても不満足'], [2, '不満足'], [3, '普通'], [4, '満足'], [5, 'とても満足'], ], label='''あなたの今のところの満足度を答えてください。''' ) feelings1_2 = models.IntegerField( choices=[ [1, 'とても不満足'], [2, '不満足'], [3, '普通'], [4, '満足'], [5, 'とても満足'], ], label='''あなたの今のところの満足度を答えてください。''' ) earning1 = models.CurrencyField(initial=0) earning1b = models.CurrencyField(initial=0) earning1n = models.CurrencyField(initial=0) payoff1 = models.CurrencyField(initial=0) #2周目 feelings2_1 = models.IntegerField( choices=[ [1, 'とても不満足'], [2, '不満足'], [3, '普通'], [4, '満足'], [5, 'とても満足'], ], label='''あなたの今のところの満足度を答えてください。''' ) feelings2_2 = models.IntegerField( choices=[ [1, 'とても不満足'], [2, '不満足'], [3, '普通'], [4, '満足'], [5, 'とても満足'], ], label='''あなたの今のところの満足度を答えてください。''' ) earning2 = models.CurrencyField(initial=0) earning2b = models.CurrencyField(initial=0) earning2n = models.CurrencyField(initial=0) payoff2 = models.CurrencyField(initial=0) payoff1_2 = models.CurrencyField(initial=0) #3周目 feelings3_1 = models.IntegerField( choices=[ [1, 'とても不満足'], [2, '不満足'], [3, '普通'], [4, '満足'], [5, 'とても満足'], ], label='''あなたの今のところの満足度を答えてください。''' ) feelings3_2 = models.IntegerField( choices=[ [1, 'とても不満足'], [2, '不満足'], [3, '普通'], [4, '満足'], [5, 'とても満足'], ], label='''あなたの今のところの満足度を答えてください。''' ) earning3 = models.CurrencyField(initial=0) earning3b = models.CurrencyField(initial=0) earning3n = models.CurrencyField(initial=0) payoff3 = models.CurrencyField(initial=0) payoff1_3 = models.CurrencyField(initial=0) #Questions and Answers 0A to 0Z def randomkey0A(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0A = models.StringField(initial = randomkey0A(5)) def randomkey0B(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0B = models.StringField(initial = randomkey0B(5)) def randomkey0C(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0C = models.StringField(initial = randomkey0C(5)) def randomkey0D(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0D = models.StringField(initial = randomkey0D(5)) def randomkey0E(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0E = models.StringField(initial = randomkey0E(5)) def randomkey0F(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0F = models.StringField(initial = randomkey0F(5)) def randomkey0G(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0G = models.StringField(initial = randomkey0G(5)) def randomkey0H(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0H = models.StringField(initial = randomkey0H(5)) def randomkey0I(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0I = models.StringField(initial = randomkey0I(5)) def randomkey0J(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0J = models.StringField(initial = randomkey0J(5)) def randomkey0K(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0K = models.StringField(initial = randomkey0K(5)) def randomkey0L(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0L = models.StringField(initial = randomkey0L(5)) def randomkey0M(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0M = models.StringField(initial = randomkey0M(5)) def randomkey0N(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0N = models.StringField(initial = randomkey0N(5)) def randomkey0O(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0O = models.StringField(initial = randomkey0O(5)) def randomkey0P(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0P = models.StringField(initial = randomkey0P(5)) def randomkey0Q(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0Q = models.StringField(initial = randomkey0Q(5)) def randomkey0R(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0R = models.StringField(initial = randomkey0R(5)) def randomkey0S(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0S = models.StringField(initial = randomkey0S(5)) def randomkey0T(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0T = models.StringField(initial = randomkey0T(5)) def randomkey0U(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0U = models.StringField(initial = randomkey0U(5)) def randomkey0V(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0V = models.StringField(initial = randomkey0V(5)) def randomkey0W(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0W = models.StringField(initial = randomkey0W(5)) def randomkey0X(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0X = models.StringField(initial = randomkey0X(5)) def randomkey0Y(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0Y = models.StringField(initial = randomkey0Y(5)) def randomkey0Z(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que0Z = models.StringField(initial = randomkey0Z(5)) #Answer forms ans0A = models.StringField(blank=True, null=True) ans0B = models.StringField(blank=True, null=True) ans0C = models.StringField(blank=True, null=True) ans0D = models.StringField(blank=True, null=True) ans0E = models.StringField(blank=True, null=True) ans0F = models.StringField(blank=True, null=True) ans0G = models.StringField(blank=True, null=True) ans0H = models.StringField(blank=True, null=True) ans0I = models.StringField(blank=True, null=True) ans0J = models.StringField(blank=True, null=True) ans0K = models.StringField(blank=True, null=True) ans0L = models.StringField(blank=True, null=True) ans0M = models.StringField(blank=True, null=True) ans0N = models.StringField(blank=True, null=True) ans0O = models.StringField(blank=True, null=True) ans0P = models.StringField(blank=True, null=True) ans0Q = models.StringField(blank=True, null=True) ans0R = models.StringField(blank=True, null=True) ans0S = models.StringField(blank=True, null=True) ans0T = models.StringField(blank=True, null=True) ans0U = models.StringField(blank=True, null=True) ans0V = models.StringField(blank=True, null=True) ans0W = models.StringField(blank=True, null=True) ans0X = models.StringField(blank=True, null=True) ans0Y = models.StringField(blank=True, null=True) ans0Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans0A = [ p.ans0A for p in self.get_players() ] ans0B = [ p.ans0B for p in self.get_players() ] ans0C = [ p.ans0C for p in self.get_players() ] ans0D = [ p.ans0D for p in self.get_players() ] ans0E = [ p.ans0E for p in self.get_players() ] ans0F = [ p.ans0F for p in self.get_players() ] ans0G = [ p.ans0G for p in self.get_players() ] ans0H = [ p.ans0H for p in self.get_players() ] ans0I = [ p.ans0I for p in self.get_players() ] ans0J = [ p.ans0J for p in self.get_players() ] ans0K = [ p.ans0K for p in self.get_players() ] ans0L = [ p.ans0L for l in self.get_players() ] ans0M = [ p.ans0M for p in self.get_players() ] ans0N = [ p.ans0N for p in self.get_players() ] ans0O = [ p.ans0O for p in self.get_players() ] ans0P = [ p.ans0P for p in self.get_players() ] ans0Q = [ p.ans0Q for p in self.get_players() ] ans0R = [ p.ans0R for p in self.get_players() ] ans0S = [ p.ans0S for p in self.get_players() ] ans0T = [ p.ans0T for p in self.get_players() ] ans0U = [ p.ans0U for p in self.get_players() ] ans0V = [ p.ans0V for p in self.get_players() ] ans0W = [ p.ans0W for p in self.get_players() ] ans0X = [ p.ans0X for p in self.get_players() ] ans0Y = [ p.ans0Y for p in self.get_players() ] ans0Z = [ p.ans0Z for p in self.get_players() ] #Questions and Answers 1A to 1Z def randomkey1A(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1A = models.StringField(initial = randomkey1A(5)) def randomkey1B(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1B = models.StringField(initial = randomkey1B(5)) def randomkey1C(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1C = models.StringField(initial = randomkey1C(5)) def randomkey1D(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1D = models.StringField(initial = randomkey1D(5)) def randomkey1E(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1E = models.StringField(initial = randomkey1E(5)) def randomkey1F(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1F = models.StringField(initial = randomkey1F(5)) def randomkey1G(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1G = models.StringField(initial = randomkey1G(5)) def randomkey1H(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1H = models.StringField(initial = randomkey1H(5)) def randomkey1I(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1I = models.StringField(initial = randomkey1I(5)) def randomkey1J(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1J = models.StringField(initial = randomkey1J(5)) def randomkey1K(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1K = models.StringField(initial = randomkey1K(5)) def randomkey1L(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1L = models.StringField(initial = randomkey1L(5)) def randomkey1M(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1M = models.StringField(initial = randomkey1M(5)) def randomkey1N(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1N = models.StringField(initial = randomkey1N(5)) def randomkey1O(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1O = models.StringField(initial = randomkey1O(5)) def randomkey1P(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1P = models.StringField(initial = randomkey1P(5)) def randomkey1Q(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1Q = models.StringField(initial = randomkey1Q(5)) def randomkey1R(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1R = models.StringField(initial = randomkey1R(5)) def randomkey1S(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1S = models.StringField(initial = randomkey1S(5)) def randomkey1T(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1T = models.StringField(initial = randomkey1T(5)) def randomkey1U(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1U = models.StringField(initial = randomkey1U(5)) def randomkey1V(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1V = models.StringField(initial = randomkey1V(5)) def randomkey1W(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1W = models.StringField(initial = randomkey1W(5)) def randomkey1X(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1X = models.StringField(initial = randomkey1X(5)) def randomkey1Y(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1Y = models.StringField(initial = randomkey1Y(5)) def randomkey1Z(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1Z = models.StringField(initial = randomkey1Z(5)) #Answer forms ans1A = models.StringField(blank=True, null=True) ans1B = models.StringField(blank=True, null=True) ans1C = models.StringField(blank=True, null=True) ans1D = models.StringField(blank=True, null=True) ans1E = models.StringField(blank=True, null=True) ans1F = models.StringField(blank=True, null=True) ans1G = models.StringField(blank=True, null=True) ans1H = models.StringField(blank=True, null=True) ans1I = models.StringField(blank=True, null=True) ans1J = models.StringField(blank=True, null=True) ans1K = models.StringField(blank=True, null=True) ans1L = models.StringField(blank=True, null=True) ans1M = models.StringField(blank=True, null=True) ans1N = models.StringField(blank=True, null=True) ans1O = models.StringField(blank=True, null=True) ans1P = models.StringField(blank=True, null=True) ans1Q = models.StringField(blank=True, null=True) ans1R = models.StringField(blank=True, null=True) ans1S = models.StringField(blank=True, null=True) ans1T = models.StringField(blank=True, null=True) ans1U = models.StringField(blank=True, null=True) ans1V = models.StringField(blank=True, null=True) ans1W = models.StringField(blank=True, null=True) ans1X = models.StringField(blank=True, null=True) ans1Y = models.StringField(blank=True, null=True) ans1Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans1A = [ p.ans1A for p in self.get_players() ] ans1B = [ p.ans1B for p in self.get_players() ] ans1C = [ p.ans1C for p in self.get_players() ] ans1D = [ p.ans1D for p in self.get_players() ] ans1E = [ p.ans1E for p in self.get_players() ] ans1F = [ p.ans1F for p in self.get_players() ] ans1G = [ p.ans1G for p in self.get_players() ] ans1H = [ p.ans1H for p in self.get_players() ] ans1I = [ p.ans1I for p in self.get_players() ] ans1J = [ p.ans1J for p in self.get_players() ] ans1K = [ p.ans1K for p in self.get_players() ] ans1L = [ p.ans1L for l in self.get_players() ] ans1M = [ p.ans1M for p in self.get_players() ] ans1N = [ p.ans1N for p in self.get_players() ] ans1O = [ p.ans1O for p in self.get_players() ] ans1P = [ p.ans1P for p in self.get_players() ] ans1Q = [ p.ans1Q for p in self.get_players() ] ans1R = [ p.ans1R for p in self.get_players() ] ans1S = [ p.ans1S for p in self.get_players() ] ans1T = [ p.ans1T for p in self.get_players() ] ans1U = [ p.ans1U for p in self.get_players() ] ans1V = [ p.ans1V for p in self.get_players() ] ans1W = [ p.ans1W for p in self.get_players() ] ans1X = [ p.ans1X for p in self.get_players() ] ans1Y = [ p.ans1Y for p in self.get_players() ] ans1Z = [ p.ans1Z for p in self.get_players() ] #Questions and Answers 1bA to 1bZ def randomkey1bA(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bA = models.StringField(initial = randomkey1bA(3)) def randomkey1bB(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bB = models.StringField(initial = randomkey1bB(3)) def randomkey1bC(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bC = models.StringField(initial = randomkey1bC(3)) def randomkey1bD(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bD = models.StringField(initial = randomkey1bD(3)) def randomkey1bE(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bE = models.StringField(initial = randomkey1bE(3)) def randomkey1bF(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bF = models.StringField(initial = randomkey1bF(3)) def randomkey1bG(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bG = models.StringField(initial = randomkey1bG(3)) def randomkey1bH(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bH = models.StringField(initial = randomkey1bH(3)) def randomkey1bI(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bI = models.StringField(initial = randomkey1bI(3)) def randomkey1bJ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bJ = models.StringField(initial = randomkey1bJ(3)) def randomkey1bK(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bK = models.StringField(initial = randomkey1bK(3)) def randomkey1bL(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bL = models.StringField(initial = randomkey1bL(3)) def randomkey1bM(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bM = models.StringField(initial = randomkey1bM(3)) def randomkey1bN(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bN = models.StringField(initial = randomkey1bN(3)) def randomkey1bO(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bO = models.StringField(initial = randomkey1bO(3)) def randomkey1bP(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bP = models.StringField(initial = randomkey1bP(3)) def randomkey1bQ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bQ = models.StringField(initial = randomkey1bQ(3)) def randomkey1bR(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bR = models.StringField(initial = randomkey1bR(3)) def randomkey1bS(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bS = models.StringField(initial = randomkey1bS(3)) def randomkey1bT(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bT = models.StringField(initial = randomkey1bT(3)) def randomkey1bU(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bU = models.StringField(initial = randomkey1bU(3)) def randomkey1bV(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bV = models.StringField(initial = randomkey1bV(3)) def randomkey1bW(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bW = models.StringField(initial = randomkey1bW(3)) def randomkey1bX(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bX = models.StringField(initial = randomkey1bX(3)) def randomkey1bY(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bY = models.StringField(initial = randomkey1bY(3)) def randomkey1bZ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1bZ = models.StringField(initial = randomkey1bZ(3)) #Answer forms ans1bA = models.StringField(blank=True, null=True) ans1bB = models.StringField(blank=True, null=True) ans1bC = models.StringField(blank=True, null=True) ans1bD = models.StringField(blank=True, null=True) ans1bE = models.StringField(blank=True, null=True) ans1bF = models.StringField(blank=True, null=True) ans1bG = models.StringField(blank=True, null=True) ans1bH = models.StringField(blank=True, null=True) ans1bI = models.StringField(blank=True, null=True) ans1bJ = models.StringField(blank=True, null=True) ans1bK = models.StringField(blank=True, null=True) ans1bL = models.StringField(blank=True, null=True) ans1bM = models.StringField(blank=True, null=True) ans1bN = models.StringField(blank=True, null=True) ans1bO = models.StringField(blank=True, null=True) ans1bP = models.StringField(blank=True, null=True) ans1bQ = models.StringField(blank=True, null=True) ans1bR = models.StringField(blank=True, null=True) ans1bS = models.StringField(blank=True, null=True) ans1bT = models.StringField(blank=True, null=True) ans1bU = models.StringField(blank=True, null=True) ans1bV = models.StringField(blank=True, null=True) ans1bW = models.StringField(blank=True, null=True) ans1bX = models.StringField(blank=True, null=True) ans1bY = models.StringField(blank=True, null=True) ans1bZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans1bA = [ p.ans1bA for p in self.get_players() ] ans1bB = [ p.ans1bB for p in self.get_players() ] ans1bC = [ p.ans1bC for p in self.get_players() ] ans1bD = [ p.ans1bD for p in self.get_players() ] ans1bE = [ p.ans1bE for p in self.get_players() ] ans1bF = [ p.ans1bF for p in self.get_players() ] ans1bG = [ p.ans1bG for p in self.get_players() ] ans1bH = [ p.ans1bH for p in self.get_players() ] ans1bI = [ p.ans1bI for p in self.get_players() ] ans1bJ = [ p.ans1bJ for p in self.get_players() ] ans1bK = [ p.ans1bK for p in self.get_players() ] ans1bL = [ p.ans1bL for l in self.get_players() ] ans1bM = [ p.ans1bM for p in self.get_players() ] ans1bN = [ p.ans1bN for p in self.get_players() ] ans1bO = [ p.ans1bO for p in self.get_players() ] ans1bP = [ p.ans1bP for p in self.get_players() ] ans1bQ = [ p.ans1bQ for p in self.get_players() ] ans1bR = [ p.ans1bR for p in self.get_players() ] ans1bS = [ p.ans1bS for p in self.get_players() ] ans1bT = [ p.ans1bT for p in self.get_players() ] ans1bU = [ p.ans1bU for p in self.get_players() ] ans1bV = [ p.ans1bV for p in self.get_players() ] ans1bW = [ p.ans1bW for p in self.get_players() ] ans1bX = [ p.ans1bX for p in self.get_players() ] ans1bY = [ p.ans1bY for p in self.get_players() ] ans1bZ = [ p.ans1bZ for p in self.get_players() ] #Questions and Answers 1nA to 1nZ def randomkey1nA(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nA = models.StringField(initial = randomkey1nA(5)) def randomkey1nB(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nB = models.StringField(initial = randomkey1nB(5)) def randomkey1nC(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nC = models.StringField(initial = randomkey1nC(5)) def randomkey1nD(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nD = models.StringField(initial = randomkey1nD(5)) def randomkey1nE(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nE = models.StringField(initial = randomkey1nE(5)) def randomkey1nF(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nF = models.StringField(initial = randomkey1nF(5)) def randomkey1nG(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nG = models.StringField(initial = randomkey1nG(5)) def randomkey1nH(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nH = models.StringField(initial = randomkey1nH(5)) def randomkey1nI(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nI = models.StringField(initial = randomkey1nI(5)) def randomkey1nJ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nJ = models.StringField(initial = randomkey1nJ(5)) def randomkey1nK(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nK = models.StringField(initial = randomkey1nK(5)) def randomkey1nL(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nL = models.StringField(initial = randomkey1nL(5)) def randomkey1nM(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nM = models.StringField(initial = randomkey1nM(5)) def randomkey1nN(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nN = models.StringField(initial = randomkey1nN(5)) def randomkey1nO(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nO = models.StringField(initial = randomkey1nO(5)) def randomkey1nP(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nP = models.StringField(initial = randomkey1nP(5)) def randomkey1nQ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nQ = models.StringField(initial = randomkey1nQ(5)) def randomkey1nR(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nR = models.StringField(initial = randomkey1nR(5)) def randomkey1nS(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nS = models.StringField(initial = randomkey1nS(5)) def randomkey1nT(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nT = models.StringField(initial = randomkey1nT(5)) def randomkey1nU(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nU = models.StringField(initial = randomkey1nU(5)) def randomkey1nV(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nV = models.StringField(initial = randomkey1nV(5)) def randomkey1nW(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nW = models.StringField(initial = randomkey1nW(5)) def randomkey1nX(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nX = models.StringField(initial = randomkey1nX(5)) def randomkey1nY(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nY = models.StringField(initial = randomkey1nY(5)) def randomkey1nZ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que1nZ = models.StringField(initial = randomkey1nZ(5)) #Answer forms ans1nA = models.StringField(blank=True, null=True) ans1nB = models.StringField(blank=True, null=True) ans1nC = models.StringField(blank=True, null=True) ans1nD = models.StringField(blank=True, null=True) ans1nE = models.StringField(blank=True, null=True) ans1nF = models.StringField(blank=True, null=True) ans1nG = models.StringField(blank=True, null=True) ans1nH = models.StringField(blank=True, null=True) ans1nI = models.StringField(blank=True, null=True) ans1nJ = models.StringField(blank=True, null=True) ans1nK = models.StringField(blank=True, null=True) ans1nL = models.StringField(blank=True, null=True) ans1nM = models.StringField(blank=True, null=True) ans1nN = models.StringField(blank=True, null=True) ans1nO = models.StringField(blank=True, null=True) ans1nP = models.StringField(blank=True, null=True) ans1nQ = models.StringField(blank=True, null=True) ans1nR = models.StringField(blank=True, null=True) ans1nS = models.StringField(blank=True, null=True) ans1nT = models.StringField(blank=True, null=True) ans1nU = models.StringField(blank=True, null=True) ans1nV = models.StringField(blank=True, null=True) ans1nW = models.StringField(blank=True, null=True) ans1nX = models.StringField(blank=True, null=True) ans1nY = models.StringField(blank=True, null=True) ans1nZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans1nA = [ p.ans1nA for p in self.get_players() ] ans1nB = [ p.ans1nB for p in self.get_players() ] ans1nC = [ p.ans1nC for p in self.get_players() ] ans1nD = [ p.ans1nD for p in self.get_players() ] ans1nE = [ p.ans1nE for p in self.get_players() ] ans1nF = [ p.ans1nF for p in self.get_players() ] ans1nG = [ p.ans1nG for p in self.get_players() ] ans1nH = [ p.ans1nH for p in self.get_players() ] ans1nI = [ p.ans1nI for p in self.get_players() ] ans1nJ = [ p.ans1nJ for p in self.get_players() ] ans1nK = [ p.ans1nK for p in self.get_players() ] ans1nL = [ p.ans1nL for l in self.get_players() ] ans1nM = [ p.ans1nM for p in self.get_players() ] ans1nN = [ p.ans1nN for p in self.get_players() ] ans1nO = [ p.ans1nO for p in self.get_players() ] ans1nP = [ p.ans1nP for p in self.get_players() ] ans1nQ = [ p.ans1nQ for p in self.get_players() ] ans1nR = [ p.ans1nR for p in self.get_players() ] ans1nS = [ p.ans1nS for p in self.get_players() ] ans1nT = [ p.ans1nT for p in self.get_players() ] ans1nU = [ p.ans1nU for p in self.get_players() ] ans1nV = [ p.ans1nV for p in self.get_players() ] ans1nW = [ p.ans1nW for p in self.get_players() ] ans1nX = [ p.ans1nX for p in self.get_players() ] ans1nY = [ p.ans1nY for p in self.get_players() ] ans1nZ = [ p.ans1nZ for p in self.get_players() ] #Questions and Answers 2A to 2Z def randomkey2A(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2A = models.StringField(initial = randomkey2A(5)) def randomkey2B(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2B = models.StringField(initial = randomkey2B(5)) def randomkey2C(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2C = models.StringField(initial = randomkey2C(5)) def randomkey2D(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2D = models.StringField(initial = randomkey2D(5)) def randomkey2E(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2E = models.StringField(initial = randomkey2E(5)) def randomkey2F(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2F = models.StringField(initial = randomkey2F(5)) def randomkey2G(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2G = models.StringField(initial = randomkey2G(5)) def randomkey2H(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2H = models.StringField(initial = randomkey2H(5)) def randomkey2I(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2I = models.StringField(initial = randomkey2I(5)) def randomkey2J(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2J = models.StringField(initial = randomkey2J(5)) def randomkey2K(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2K = models.StringField(initial = randomkey2K(5)) def randomkey2L(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2L = models.StringField(initial = randomkey2L(5)) def randomkey2M(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2M = models.StringField(initial = randomkey2M(5)) def randomkey2N(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2N = models.StringField(initial = randomkey2N(5)) def randomkey2O(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2O = models.StringField(initial = randomkey2O(5)) def randomkey2P(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2P = models.StringField(initial = randomkey2P(5)) def randomkey2Q(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2Q = models.StringField(initial = randomkey2Q(5)) def randomkey2R(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2R = models.StringField(initial = randomkey2R(5)) def randomkey2S(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2S = models.StringField(initial = randomkey2S(5)) def randomkey2T(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2T = models.StringField(initial = randomkey2T(5)) def randomkey2U(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2U = models.StringField(initial = randomkey2U(5)) def randomkey2V(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2V = models.StringField(initial = randomkey2V(5)) def randomkey2W(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2W = models.StringField(initial = randomkey2W(5)) def randomkey2X(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2X = models.StringField(initial = randomkey2X(5)) def randomkey2Y(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2Y = models.StringField(initial = randomkey2Y(5)) def randomkey2Z(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2Z = models.StringField(initial = randomkey2Z(5)) #Answer forms ans2A = models.StringField(blank=True, null=True) ans2B = models.StringField(blank=True, null=True) ans2C = models.StringField(blank=True, null=True) ans2D = models.StringField(blank=True, null=True) ans2E = models.StringField(blank=True, null=True) ans2F = models.StringField(blank=True, null=True) ans2G = models.StringField(blank=True, null=True) ans2H = models.StringField(blank=True, null=True) ans2I = models.StringField(blank=True, null=True) ans2J = models.StringField(blank=True, null=True) ans2K = models.StringField(blank=True, null=True) ans2L = models.StringField(blank=True, null=True) ans2M = models.StringField(blank=True, null=True) ans2N = models.StringField(blank=True, null=True) ans2O = models.StringField(blank=True, null=True) ans2P = models.StringField(blank=True, null=True) ans2Q = models.StringField(blank=True, null=True) ans2R = models.StringField(blank=True, null=True) ans2S = models.StringField(blank=True, null=True) ans2T = models.StringField(blank=True, null=True) ans2U = models.StringField(blank=True, null=True) ans2V = models.StringField(blank=True, null=True) ans2W = models.StringField(blank=True, null=True) ans2X = models.StringField(blank=True, null=True) ans2Y = models.StringField(blank=True, null=True) ans2Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans2A = [ p.ans2A for p in self.get_players() ] ans2B = [ p.ans2B for p in self.get_players() ] ans2C = [ p.ans2C for p in self.get_players() ] ans2D = [ p.ans2D for p in self.get_players() ] ans2E = [ p.ans2E for p in self.get_players() ] ans2F = [ p.ans2F for p in self.get_players() ] ans2G = [ p.ans2G for p in self.get_players() ] ans2H = [ p.ans2H for p in self.get_players() ] ans2I = [ p.ans2I for p in self.get_players() ] ans2J = [ p.ans2J for p in self.get_players() ] ans2K = [ p.ans2K for p in self.get_players() ] ans2L = [ p.ans2L for l in self.get_players() ] ans2M = [ p.ans2M for p in self.get_players() ] ans2N = [ p.ans2N for p in self.get_players() ] ans2O = [ p.ans2O for p in self.get_players() ] ans2P = [ p.ans2P for p in self.get_players() ] ans2Q = [ p.ans2Q for p in self.get_players() ] ans2R = [ p.ans2R for p in self.get_players() ] ans2S = [ p.ans2S for p in self.get_players() ] ans2T = [ p.ans2T for p in self.get_players() ] ans2U = [ p.ans2U for p in self.get_players() ] ans2V = [ p.ans2V for p in self.get_players() ] ans2W = [ p.ans2W for p in self.get_players() ] ans2X = [ p.ans2X for p in self.get_players() ] ans2Y = [ p.ans2Y for p in self.get_players() ] ans2Z = [ p.ans2Z for p in self.get_players() ] #Questions and Answers 2bA to 2bZ def randomkey2bA(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bA = models.StringField(initial = randomkey2bA(3)) def randomkey2bB(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bB = models.StringField(initial = randomkey2bB(3)) def randomkey2bC(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bC = models.StringField(initial = randomkey2bC(3)) def randomkey2bD(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bD = models.StringField(initial = randomkey2bD(3)) def randomkey2bE(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bE = models.StringField(initial = randomkey2bE(3)) def randomkey2bF(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bF = models.StringField(initial = randomkey2bF(3)) def randomkey2bG(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bG = models.StringField(initial = randomkey2bG(3)) def randomkey2bH(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bH = models.StringField(initial = randomkey2bH(3)) def randomkey2bI(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bI = models.StringField(initial = randomkey2bI(3)) def randomkey2bJ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bJ = models.StringField(initial = randomkey2bJ(3)) def randomkey2bK(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bK = models.StringField(initial = randomkey2bK(3)) def randomkey2bL(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bL = models.StringField(initial = randomkey2bL(3)) def randomkey2bM(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bM = models.StringField(initial = randomkey2bM(3)) def randomkey2bN(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bN = models.StringField(initial = randomkey2bN(3)) def randomkey2bO(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bO = models.StringField(initial = randomkey2bO(3)) def randomkey2bP(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bP = models.StringField(initial = randomkey2bP(3)) def randomkey2bQ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bQ = models.StringField(initial = randomkey2bQ(3)) def randomkey2bR(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bR = models.StringField(initial = randomkey2bR(3)) def randomkey2bS(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bS = models.StringField(initial = randomkey2bS(3)) def randomkey2bT(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bT = models.StringField(initial = randomkey2bT(3)) def randomkey2bU(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bU = models.StringField(initial = randomkey2bU(3)) def randomkey2bV(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bV = models.StringField(initial = randomkey2bV(3)) def randomkey2bW(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bW = models.StringField(initial = randomkey2bW(3)) def randomkey2bX(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bX = models.StringField(initial = randomkey2bX(3)) def randomkey2bY(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bY = models.StringField(initial = randomkey2bY(3)) def randomkey2bZ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2bZ = models.StringField(initial = randomkey2bZ(3)) #Answer forms ans2bA = models.StringField(blank=True, null=True) ans2bB = models.StringField(blank=True, null=True) ans2bC = models.StringField(blank=True, null=True) ans2bD = models.StringField(blank=True, null=True) ans2bE = models.StringField(blank=True, null=True) ans2bF = models.StringField(blank=True, null=True) ans2bG = models.StringField(blank=True, null=True) ans2bH = models.StringField(blank=True, null=True) ans2bI = models.StringField(blank=True, null=True) ans2bJ = models.StringField(blank=True, null=True) ans2bK = models.StringField(blank=True, null=True) ans2bL = models.StringField(blank=True, null=True) ans2bM = models.StringField(blank=True, null=True) ans2bN = models.StringField(blank=True, null=True) ans2bO = models.StringField(blank=True, null=True) ans2bP = models.StringField(blank=True, null=True) ans2bQ = models.StringField(blank=True, null=True) ans2bR = models.StringField(blank=True, null=True) ans2bS = models.StringField(blank=True, null=True) ans2bT = models.StringField(blank=True, null=True) ans2bU = models.StringField(blank=True, null=True) ans2bV = models.StringField(blank=True, null=True) ans2bW = models.StringField(blank=True, null=True) ans2bX = models.StringField(blank=True, null=True) ans2bY = models.StringField(blank=True, null=True) ans2bZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans2bA = [ p.ans2bA for p in self.get_players() ] ans2bB = [ p.ans2bB for p in self.get_players() ] ans2bC = [ p.ans2bC for p in self.get_players() ] ans2bD = [ p.ans2bD for p in self.get_players() ] ans2bE = [ p.ans2bE for p in self.get_players() ] ans2bF = [ p.ans2bF for p in self.get_players() ] ans2bG = [ p.ans2bG for p in self.get_players() ] ans2bH = [ p.ans2bH for p in self.get_players() ] ans2bI = [ p.ans2bI for p in self.get_players() ] ans2bJ = [ p.ans2bJ for p in self.get_players() ] ans2bK = [ p.ans2bK for p in self.get_players() ] ans2bL = [ p.ans2bL for l in self.get_players() ] ans2bM = [ p.ans2bM for p in self.get_players() ] ans2bN = [ p.ans2bN for p in self.get_players() ] ans2bO = [ p.ans2bO for p in self.get_players() ] ans2bP = [ p.ans2bP for p in self.get_players() ] ans2bQ = [ p.ans2bQ for p in self.get_players() ] ans2bR = [ p.ans2bR for p in self.get_players() ] ans2bS = [ p.ans2bS for p in self.get_players() ] ans2bT = [ p.ans2bT for p in self.get_players() ] ans2bU = [ p.ans2bU for p in self.get_players() ] ans2bV = [ p.ans2bV for p in self.get_players() ] ans2bW = [ p.ans2bW for p in self.get_players() ] ans2bX = [ p.ans2bX for p in self.get_players() ] ans2bY = [ p.ans2bY for p in self.get_players() ] ans2bZ = [ p.ans2bZ for p in self.get_players() ] #Questions and Answers 2nA to 2nZ def randomkey2nA(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nA = models.StringField(initial = randomkey2nA(5)) def randomkey2nB(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nB = models.StringField(initial = randomkey2nB(5)) def randomkey2nC(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nC = models.StringField(initial = randomkey2nC(5)) def randomkey2nD(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nD = models.StringField(initial = randomkey2nD(5)) def randomkey2nE(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nE = models.StringField(initial = randomkey2nE(5)) def randomkey2nF(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nF = models.StringField(initial = randomkey2nF(5)) def randomkey2nG(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nG = models.StringField(initial = randomkey2nG(5)) def randomkey2nH(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nH = models.StringField(initial = randomkey2nH(5)) def randomkey2nI(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nI = models.StringField(initial = randomkey2nI(5)) def randomkey2nJ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nJ = models.StringField(initial = randomkey2nJ(5)) def randomkey2nK(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nK = models.StringField(initial = randomkey2nK(5)) def randomkey2nL(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nL = models.StringField(initial = randomkey2nL(5)) def randomkey2nM(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nM = models.StringField(initial = randomkey2nM(5)) def randomkey2nN(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nN = models.StringField(initial = randomkey2nN(5)) def randomkey2nO(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nO = models.StringField(initial = randomkey2nO(5)) def randomkey2nP(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nP = models.StringField(initial = randomkey2nP(5)) def randomkey2nQ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nQ = models.StringField(initial = randomkey2nQ(5)) def randomkey2nR(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nR = models.StringField(initial = randomkey2nR(5)) def randomkey2nS(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nS = models.StringField(initial = randomkey2nS(5)) def randomkey2nT(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nT = models.StringField(initial = randomkey2nT(5)) def randomkey2nU(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nU = models.StringField(initial = randomkey2nU(5)) def randomkey2nV(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nV = models.StringField(initial = randomkey2nV(5)) def randomkey2nW(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nW = models.StringField(initial = randomkey2nW(5)) def randomkey2nX(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nX = models.StringField(initial = randomkey2nX(5)) def randomkey2nY(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nY = models.StringField(initial = randomkey2nY(5)) def randomkey2nZ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que2nZ = models.StringField(initial = randomkey2nZ(5)) #Answer forms ans2nA = models.StringField(blank=True, null=True) ans2nB = models.StringField(blank=True, null=True) ans2nC = models.StringField(blank=True, null=True) ans2nD = models.StringField(blank=True, null=True) ans2nE = models.StringField(blank=True, null=True) ans2nF = models.StringField(blank=True, null=True) ans2nG = models.StringField(blank=True, null=True) ans2nH = models.StringField(blank=True, null=True) ans2nI = models.StringField(blank=True, null=True) ans2nJ = models.StringField(blank=True, null=True) ans2nK = models.StringField(blank=True, null=True) ans2nL = models.StringField(blank=True, null=True) ans2nM = models.StringField(blank=True, null=True) ans2nN = models.StringField(blank=True, null=True) ans2nO = models.StringField(blank=True, null=True) ans2nP = models.StringField(blank=True, null=True) ans2nQ = models.StringField(blank=True, null=True) ans2nR = models.StringField(blank=True, null=True) ans2nS = models.StringField(blank=True, null=True) ans2nT = models.StringField(blank=True, null=True) ans2nU = models.StringField(blank=True, null=True) ans2nV = models.StringField(blank=True, null=True) ans2nW = models.StringField(blank=True, null=True) ans2nX = models.StringField(blank=True, null=True) ans2nY = models.StringField(blank=True, null=True) ans2nZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans2nA = [ p.ans2nA for p in self.get_players() ] ans2nB = [ p.ans2nB for p in self.get_players() ] ans2nC = [ p.ans2nC for p in self.get_players() ] ans2nD = [ p.ans2nD for p in self.get_players() ] ans2nE = [ p.ans2nE for p in self.get_players() ] ans2nF = [ p.ans2nF for p in self.get_players() ] ans2nG = [ p.ans2nG for p in self.get_players() ] ans2nH = [ p.ans2nH for p in self.get_players() ] ans2nI = [ p.ans2nI for p in self.get_players() ] ans2nJ = [ p.ans2nJ for p in self.get_players() ] ans2nK = [ p.ans2nK for p in self.get_players() ] ans2nL = [ p.ans2nL for l in self.get_players() ] ans2nM = [ p.ans2nM for p in self.get_players() ] ans2nN = [ p.ans2nN for p in self.get_players() ] ans2nO = [ p.ans2nO for p in self.get_players() ] ans2nP = [ p.ans2nP for p in self.get_players() ] ans2nQ = [ p.ans2nQ for p in self.get_players() ] ans2nR = [ p.ans2nR for p in self.get_players() ] ans2nS = [ p.ans2nS for p in self.get_players() ] ans2nT = [ p.ans2nT for p in self.get_players() ] ans2nU = [ p.ans2nU for p in self.get_players() ] ans2nV = [ p.ans2nV for p in self.get_players() ] ans2nW = [ p.ans2nW for p in self.get_players() ] ans2nX = [ p.ans2nX for p in self.get_players() ] ans2nY = [ p.ans2nY for p in self.get_players() ] ans2nZ = [ p.ans2nZ for p in self.get_players() ] #Questions and Answers 3A to 3Z def randomkey3A(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3A = models.StringField(initial = randomkey3A(5)) def randomkey3B(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3B = models.StringField(initial = randomkey3B(5)) def randomkey3C(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3C = models.StringField(initial = randomkey3C(5)) def randomkey3D(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3D = models.StringField(initial = randomkey3D(5)) def randomkey3E(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3E = models.StringField(initial = randomkey3E(5)) def randomkey3F(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3F = models.StringField(initial = randomkey3F(5)) def randomkey3G(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3G = models.StringField(initial = randomkey3G(5)) def randomkey3H(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3H = models.StringField(initial = randomkey3H(5)) def randomkey3I(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3I = models.StringField(initial = randomkey3I(5)) def randomkey3J(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3J = models.StringField(initial = randomkey3J(5)) def randomkey3K(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3K = models.StringField(initial = randomkey3K(5)) def randomkey3L(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3L = models.StringField(initial = randomkey3L(5)) def randomkey3M(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3M = models.StringField(initial = randomkey3M(5)) def randomkey3N(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3N = models.StringField(initial = randomkey3N(5)) def randomkey3O(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3O = models.StringField(initial = randomkey3O(5)) def randomkey3P(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3P = models.StringField(initial = randomkey3P(5)) def randomkey3Q(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3Q = models.StringField(initial = randomkey3Q(5)) def randomkey3R(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3R = models.StringField(initial = randomkey3R(5)) def randomkey3S(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3S = models.StringField(initial = randomkey3S(5)) def randomkey3T(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3T = models.StringField(initial = randomkey3T(5)) def randomkey3U(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3U = models.StringField(initial = randomkey3U(5)) def randomkey3V(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3V = models.StringField(initial = randomkey3V(5)) def randomkey3W(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3W = models.StringField(initial = randomkey3W(5)) def randomkey3X(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3X = models.StringField(initial = randomkey3X(5)) def randomkey3Y(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3Y = models.StringField(initial = randomkey3Y(5)) def randomkey3Z(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3Z = models.StringField(initial = randomkey3Z(5)) #Answer forms ans3A = models.StringField(blank=True, null=True) ans3B = models.StringField(blank=True, null=True) ans3C = models.StringField(blank=True, null=True) ans3D = models.StringField(blank=True, null=True) ans3E = models.StringField(blank=True, null=True) ans3F = models.StringField(blank=True, null=True) ans3G = models.StringField(blank=True, null=True) ans3H = models.StringField(blank=True, null=True) ans3I = models.StringField(blank=True, null=True) ans3J = models.StringField(blank=True, null=True) ans3K = models.StringField(blank=True, null=True) ans3L = models.StringField(blank=True, null=True) ans3M = models.StringField(blank=True, null=True) ans3N = models.StringField(blank=True, null=True) ans3O = models.StringField(blank=True, null=True) ans3P = models.StringField(blank=True, null=True) ans3Q = models.StringField(blank=True, null=True) ans3R = models.StringField(blank=True, null=True) ans3S = models.StringField(blank=True, null=True) ans3T = models.StringField(blank=True, null=True) ans3U = models.StringField(blank=True, null=True) ans3V = models.StringField(blank=True, null=True) ans3W = models.StringField(blank=True, null=True) ans3X = models.StringField(blank=True, null=True) ans3Y = models.StringField(blank=True, null=True) ans3Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans3A = [ p.ans3A for p in self.get_players() ] ans3B = [ p.ans3B for p in self.get_players() ] ans3C = [ p.ans3C for p in self.get_players() ] ans3D = [ p.ans3D for p in self.get_players() ] ans3E = [ p.ans3E for p in self.get_players() ] ans3F = [ p.ans3F for p in self.get_players() ] ans3G = [ p.ans3G for p in self.get_players() ] ans3H = [ p.ans3H for p in self.get_players() ] ans3I = [ p.ans3I for p in self.get_players() ] ans3J = [ p.ans3J for p in self.get_players() ] ans3K = [ p.ans3K for p in self.get_players() ] ans3L = [ p.ans3L for l in self.get_players() ] ans3M = [ p.ans3M for p in self.get_players() ] ans3N = [ p.ans3N for p in self.get_players() ] ans3O = [ p.ans3O for p in self.get_players() ] ans3P = [ p.ans3P for p in self.get_players() ] ans3Q = [ p.ans3Q for p in self.get_players() ] ans3R = [ p.ans3R for p in self.get_players() ] ans3S = [ p.ans3S for p in self.get_players() ] ans3T = [ p.ans3T for p in self.get_players() ] ans3U = [ p.ans3U for p in self.get_players() ] ans3V = [ p.ans3V for p in self.get_players() ] ans3W = [ p.ans3W for p in self.get_players() ] ans3X = [ p.ans3X for p in self.get_players() ] ans3Y = [ p.ans3Y for p in self.get_players() ] ans3Z = [ p.ans3Z for p in self.get_players() ] #Questions and Answers 3bA to 3bZ def randomkey3bA(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bA = models.StringField(initial = randomkey3bA(3)) def randomkey3bB(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bB = models.StringField(initial = randomkey3bB(3)) def randomkey3bC(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bC = models.StringField(initial = randomkey3bC(3)) def randomkey3bD(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bD = models.StringField(initial = randomkey3bD(3)) def randomkey3bE(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bE = models.StringField(initial = randomkey3bE(3)) def randomkey3bF(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bF = models.StringField(initial = randomkey3bF(3)) def randomkey3bG(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bG = models.StringField(initial = randomkey3bG(3)) def randomkey3bH(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bH = models.StringField(initial = randomkey3bH(3)) def randomkey3bI(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bI = models.StringField(initial = randomkey3bI(3)) def randomkey3bJ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bJ = models.StringField(initial = randomkey3bJ(3)) def randomkey3bK(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bK = models.StringField(initial = randomkey3bK(3)) def randomkey3bL(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bL = models.StringField(initial = randomkey3bL(3)) def randomkey3bM(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bM = models.StringField(initial = randomkey3bM(3)) def randomkey3bN(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bN = models.StringField(initial = randomkey3bN(3)) def randomkey3bO(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bO = models.StringField(initial = randomkey3bO(3)) def randomkey3bP(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bP = models.StringField(initial = randomkey3bP(3)) def randomkey3bQ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bQ = models.StringField(initial = randomkey3bQ(3)) def randomkey3bR(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bR = models.StringField(initial = randomkey3bR(3)) def randomkey3bS(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bS = models.StringField(initial = randomkey3bS(3)) def randomkey3bT(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bT = models.StringField(initial = randomkey3bT(3)) def randomkey3bU(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bU = models.StringField(initial = randomkey3bU(3)) def randomkey3bV(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bV = models.StringField(initial = randomkey3bV(3)) def randomkey3bW(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bW = models.StringField(initial = randomkey3bW(3)) def randomkey3bX(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bX = models.StringField(initial = randomkey3bX(3)) def randomkey3bY(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bY = models.StringField(initial = randomkey3bY(3)) def randomkey3bZ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3bZ = models.StringField(initial = randomkey3bZ(3)) #Answer forms ans3bA = models.StringField(blank=True, null=True) ans3bB = models.StringField(blank=True, null=True) ans3bC = models.StringField(blank=True, null=True) ans3bD = models.StringField(blank=True, null=True) ans3bE = models.StringField(blank=True, null=True) ans3bF = models.StringField(blank=True, null=True) ans3bG = models.StringField(blank=True, null=True) ans3bH = models.StringField(blank=True, null=True) ans3bI = models.StringField(blank=True, null=True) ans3bJ = models.StringField(blank=True, null=True) ans3bK = models.StringField(blank=True, null=True) ans3bL = models.StringField(blank=True, null=True) ans3bM = models.StringField(blank=True, null=True) ans3bN = models.StringField(blank=True, null=True) ans3bO = models.StringField(blank=True, null=True) ans3bP = models.StringField(blank=True, null=True) ans3bQ = models.StringField(blank=True, null=True) ans3bR = models.StringField(blank=True, null=True) ans3bS = models.StringField(blank=True, null=True) ans3bT = models.StringField(blank=True, null=True) ans3bU = models.StringField(blank=True, null=True) ans3bV = models.StringField(blank=True, null=True) ans3bW = models.StringField(blank=True, null=True) ans3bX = models.StringField(blank=True, null=True) ans3bY = models.StringField(blank=True, null=True) ans3bZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans3bA = [ p.ans3bA for p in self.get_players() ] ans3bB = [ p.ans3bB for p in self.get_players() ] ans3bC = [ p.ans3bC for p in self.get_players() ] ans3bD = [ p.ans3bD for p in self.get_players() ] ans3bE = [ p.ans3bE for p in self.get_players() ] ans3bF = [ p.ans3bF for p in self.get_players() ] ans3bG = [ p.ans3bG for p in self.get_players() ] ans3bH = [ p.ans3bH for p in self.get_players() ] ans3bI = [ p.ans3bI for p in self.get_players() ] ans3bJ = [ p.ans3bJ for p in self.get_players() ] ans3bK = [ p.ans3bK for p in self.get_players() ] ans3bL = [ p.ans3bL for l in self.get_players() ] ans3bM = [ p.ans3bM for p in self.get_players() ] ans3bN = [ p.ans3bN for p in self.get_players() ] ans3bO = [ p.ans3bO for p in self.get_players() ] ans3bP = [ p.ans3bP for p in self.get_players() ] ans3bQ = [ p.ans3bQ for p in self.get_players() ] ans3bR = [ p.ans3bR for p in self.get_players() ] ans3bS = [ p.ans3bS for p in self.get_players() ] ans3bT = [ p.ans3bT for p in self.get_players() ] ans3bU = [ p.ans3bU for p in self.get_players() ] ans3bV = [ p.ans3bV for p in self.get_players() ] ans3bW = [ p.ans3bW for p in self.get_players() ] ans3bX = [ p.ans3bX for p in self.get_players() ] ans3bY = [ p.ans3bY for p in self.get_players() ] ans3bZ = [ p.ans3bZ for p in self.get_players() ] #Questions and Answers 3nA to 3nZ def randomkey3nA(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nA = models.StringField(initial = randomkey3nA(5)) def randomkey3nB(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nB = models.StringField(initial = randomkey3nB(5)) def randomkey3nC(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nC = models.StringField(initial = randomkey3nC(5)) def randomkey3nD(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nD = models.StringField(initial = randomkey3nD(5)) def randomkey3nE(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nE = models.StringField(initial = randomkey3nE(5)) def randomkey3nF(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nF = models.StringField(initial = randomkey3nF(5)) def randomkey3nG(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nG = models.StringField(initial = randomkey3nG(5)) def randomkey3nH(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nH = models.StringField(initial = randomkey3nH(5)) def randomkey3nI(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nI = models.StringField(initial = randomkey3nI(5)) def randomkey3nJ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nJ = models.StringField(initial = randomkey3nJ(5)) def randomkey3nK(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nK = models.StringField(initial = randomkey3nK(5)) def randomkey3nL(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nL = models.StringField(initial = randomkey3nL(5)) def randomkey3nM(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nM = models.StringField(initial = randomkey3nM(5)) def randomkey3nN(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nN = models.StringField(initial = randomkey3nN(5)) def randomkey3nO(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nO = models.StringField(initial = randomkey3nO(5)) def randomkey3nP(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nP = models.StringField(initial = randomkey3nP(5)) def randomkey3nQ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nQ = models.StringField(initial = randomkey3nQ(5)) def randomkey3nR(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nR = models.StringField(initial = randomkey3nR(5)) def randomkey3nS(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nS = models.StringField(initial = randomkey3nS(5)) def randomkey3nT(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nT = models.StringField(initial = randomkey3nT(5)) def randomkey3nU(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nU = models.StringField(initial = randomkey3nU(5)) def randomkey3nV(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nV = models.StringField(initial = randomkey3nV(5)) def randomkey3nW(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nW = models.StringField(initial = randomkey3nW(5)) def randomkey3nX(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nX = models.StringField(initial = randomkey3nX(5)) def randomkey3nY(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nY = models.StringField(initial = randomkey3nY(5)) def randomkey3nZ(n): randlist = [random.choice(string.digits) for i in range(n)] return ''.join(randlist) que3nZ = models.StringField(initial = randomkey3nZ(5)) #Answer forms ans3nA = models.StringField(blank=True, null=True) ans3nB = models.StringField(blank=True, null=True) ans3nC = models.StringField(blank=True, null=True) ans3nD = models.StringField(blank=True, null=True) ans3nE = models.StringField(blank=True, null=True) ans3nF = models.StringField(blank=True, null=True) ans3nG = models.StringField(blank=True, null=True) ans3nH = models.StringField(blank=True, null=True) ans3nI = models.StringField(blank=True, null=True) ans3nJ = models.StringField(blank=True, null=True) ans3nK = models.StringField(blank=True, null=True) ans3nL = models.StringField(blank=True, null=True) ans3nM = models.StringField(blank=True, null=True) ans3nN = models.StringField(blank=True, null=True) ans3nO = models.StringField(blank=True, null=True) ans3nP = models.StringField(blank=True, null=True) ans3nQ = models.StringField(blank=True, null=True) ans3nR = models.StringField(blank=True, null=True) ans3nS = models.StringField(blank=True, null=True) ans3nT = models.StringField(blank=True, null=True) ans3nU = models.StringField(blank=True, null=True) ans3nV = models.StringField(blank=True, null=True) ans3nW = models.StringField(blank=True, null=True) ans3nX = models.StringField(blank=True, null=True) ans3nY = models.StringField(blank=True, null=True) ans3nZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans3nA = [ p.ans3nA for p in self.get_players() ] ans3nB = [ p.ans3nB for p in self.get_players() ] ans3nC = [ p.ans3nC for p in self.get_players() ] ans3nD = [ p.ans3nD for p in self.get_players() ] ans3nE = [ p.ans3nE for p in self.get_players() ] ans3nF = [ p.ans3nF for p in self.get_players() ] ans3nG = [ p.ans3nG for p in self.get_players() ] ans3nH = [ p.ans3nH for p in self.get_players() ] ans3nI = [ p.ans3nI for p in self.get_players() ] ans3nJ = [ p.ans3nJ for p in self.get_players() ] ans3nK = [ p.ans3nK for p in self.get_players() ] ans3nL = [ p.ans3nL for l in self.get_players() ] ans3nM = [ p.ans3nM for p in self.get_players() ] ans3nN = [ p.ans3nN for p in self.get_players() ] ans3nO = [ p.ans3nO for p in self.get_players() ] ans3nP = [ p.ans3nP for p in self.get_players() ] ans3nQ = [ p.ans3nQ for p in self.get_players() ] ans3nR = [ p.ans3nR for p in self.get_players() ] ans3nS = [ p.ans3nS for p in self.get_players() ] ans3nT = [ p.ans3nT for p in self.get_players() ] ans3nU = [ p.ans3nU for p in self.get_players() ] ans3nV = [ p.ans3nV for p in self.get_players() ] ans3nW = [ p.ans3nW for p in self.get_players() ] ans3nX = [ p.ans3nX for p in self.get_players() ] ans3nY = [ p.ans3nY for p in self.get_players() ] ans3nZ = [ p.ans3nZ for p in self.get_players() ]