def calcsession(sess, thrh, dict):
    logging.info("calcsession(" + sess.key().name() + ")")
    q1 = VoteItem.all()
    q1.ancestor(sess)
    votes = {}
    for item in q1:
        q2 = VoteItemParty.all()
        q2.ancestor(item)
        for voteitem in q2:
            if dict.has_key(voteitem.key().name()):
                abrv = dict[voteitem.key().name()]
                if votes.has_key(abrv):
                    votesess = votes[abrv]
                else:
                    votesess = VoteSessionParty.get_by_key_name(abrv, sess)
                    if votesess == None:
                        votesess = VoteSessionParty(parent=sess,
                                                    key_name=abrv,
                                                    total=sess.itemcount,
                                                    aye=0,
                                                    nay=0,
                                                    rate=0.0)
                    votes[abrv] = votesess
                if thrh <= (voteitem.aye * 100 / voteitem.total):
                    votesess.aye = votesess.aye + 1
                if thrh <= (voteitem.nay * 100 / voteitem.total):
                    votesess.nay = votesess.nay + 1
            else:
                logging.error("No Abbreviation for " + voteitem.key().name())
    for key, votesess in votes.iteritems():
        votesess.rate = round(
            float(votesess.aye) / float(votesess.total) * 100, 1)
        votesess.put()
        logging.info(key + ":" + str(votesess.aye) + "/" + str(votesess.nay) +
                     ":" + str(votesess.rate))
def calcsession(sess, thrh, dict):
    logging.info("calcsession(" + sess.key().name() + ")")
    q1 = VoteItem.all()
    q1.ancestor(sess)
    votes = {}
    for item in q1:
        q2 = VoteItemParty.all()
        q2.ancestor(item)
        for voteitem in q2:
            if dict.has_key(voteitem.key().name()):
                abrv = dict[voteitem.key().name()]
                if votes.has_key(abrv):
                    votesess = votes[abrv]
                else:
                    votesess = VoteSessionParty.get_by_key_name(abrv, sess)
                    if votesess == None:
                        votesess = VoteSessionParty(
                            parent=sess, key_name=abrv, total=sess.itemcount, aye=0, nay=0, rate=0.0
                        )
                    votes[abrv] = votesess
                if thrh <= (voteitem.aye * 100 / voteitem.total):
                    votesess.aye = votesess.aye + 1
                if thrh <= (voteitem.nay * 100 / voteitem.total):
                    votesess.nay = votesess.nay + 1
            else:
                logging.error("No Abbreviation for " + voteitem.key().name())
    for key, votesess in votes.iteritems():
        votesess.rate = round(float(votesess.aye) / float(votesess.total) * 100, 1)
        votesess.put()
        logging.info(key + ":" + str(votesess.aye) + "/" + str(votesess.nay) + ":" + str(votesess.rate))
def initsession(sess):
    logging.info("initsession(" + sess.key().name() + ")")
    q = VoteSessionParty.all()
    q.ancestor(sess)
    for votesess in q:
        votesess.total = sess.itemcount
        votesess.aye = 0
        votesess.nay = 0
        votesess.put()
def initsession(sess):
    logging.info("initsession(" + sess.key().name() + ")")
    q = VoteSessionParty.all()
    q.ancestor(sess)
    for votesess in q:
        votesess.total = sess.itemcount
        votesess.aye = 0
        votesess.nay = 0
        votesess.put()
 def get(self):
     sesskey = cgi.escape(self.request.get('sess'))
     sess = Session.get_by_key_name(sesskey)
     sessitem = SessItem(sess.key().name(), sess.name, sess.start, sess.end, sess.itemcount)
     q = VoteSessionParty.all()
     q.ancestor(sess)
     items = []
     for party in q:
         items.append(PartyItem(party.key().name(), party.aye, party.nay, party.rate))
     template_values = { "sess":sessitem, "items":items }
     path = os.path.join(os.path.dirname(__file__), 'template/listsessparty.html')
     self.response.out.write(template.render(path, template_values))
 def get(self):
     sesskey = cgi.escape(self.request.get('sess'))
     sess = Session.get_by_key_name(sesskey)
     sessitem = SessItem(sess.key().name(), sess.name, sess.start, sess.end,
                         sess.itemcount)
     q = VoteSessionParty.all()
     q.ancestor(sess)
     items = []
     for party in q:
         items.append(
             PartyItem(party.key().name(), party.aye, party.nay,
                       party.rate))
     template_values = {"sess": sessitem, "items": items}
     path = os.path.join(os.path.dirname(__file__),
                         'template/listsessparty.html')
     self.response.out.write(template.render(path, template_values))