import client, random, MySQLdb, sys

class Two(client.One):

  def retrieveState(self):
    if self.input.has_key("session_ID"): 
      id = self.input["session_ID"].value
      print "Content-type: text/html\n\n"
      print "Your id is:", id, "<p>"
      self.id = id 
      Con = MySQLdb.Connect(host="silo.cs.indiana.edu", port=8974, user="lbird", passwd="dribl", db="awards")
      Cursor = Con.cursor()  
      sql = "SELECT message, n1, n2, m1, m2 FROM hwFive WHERE session_id = '%s'" % id
      Cursor.execute(sql)
      Results = Cursor.fetchall()
      (message, n1, n2, m1, m2) = Results[0]
      Con.close()
      return client.MyState(message, str(n1), str(n2), str(m1), str(m2))
    else: 
      print "Location: http://silo.cs.indiana.edu:8346/cgi-bin/1022/two?session_ID=%s\n\n" % self.generate_ID()
      sys.exit()

  def generate_ID(self): 
    id = ""
    for i in range(8):
      id += str(random.randrange(10))
    Con = MySQLdb.Connect(host="silo.cs.indiana.edu", port=8974, user="lbird", passwd="dribl", db="awards")
    Cursor = Con.cursor()  
    sql = "insert into hwFive (session_id) values ('" + id + "')"
    for i in range(10):
      if Cursor.execute(sql):
        Con.close()
        return id
    print "Content-type: text/html\n\nError. Please reload."
    Con.close()

  def saveState(self, s):
    sql = "update hwFive set message = '%s', n1 = '%s', n2 = '%s', m1 = '%s', m2 = '%s' where session_id = '%s'" % (s.message, s.n1, s.n2, s.m1, s.m2, self.id) 
    # print "<hr> %s <hr>" % sql 
    Con = MySQLdb.Connect(host="silo.cs.indiana.edu", port=8974, user="lbird", passwd="dribl", db="awards")
    Cursor = Con.cursor()  
    Cursor.execute(sql)
    Con.close()
    print "<form>"
    print "<input type=hidden name=session_ID value=\"%s\">" % self.id