class Storage: def __init__(self, sid, user_name, user_rank, test): self.sid = sid self.user_name = user_name self.user_rank = user_rank self.test = test self.answer = Answer() self.result = 0 self.path = USER_PATH+sid os.mkdir(self.path) self.saveTest() self.populateIndex() def populateIndex(self): db_conn = sqlite3.connect(USER_DB) db_cursor = db_conn.cursor() db_cursor.execute('INSERT INTO `users` (`name`, `rank`, `test`, `result`, `date`, `sid`)VALUES(?, ?, ?, ?, ?, ?)', (self.user_name, self.user_rank, self.test.caption, '0', str(int(time.mktime(datetime.now().timetuple()))), self.sid)) db_conn.commit() db_cursor.close() db_conn.close() def saveTest(self): test_file = open(self.path+'/test', 'wb') test_file.write(self.test.serializeForFile()) test_file.close() def saveResult(self): db_conn = sqlite3.connect(USER_DB) db_cursor = db_conn.cursor() self.result = self.test.getPoints() db_cursor.execute('UPDATE `users` SET `result`=? WHERE `sid`=?', ( str(self.result), self.sid) ) db_conn.commit() db_cursor.close() db_conn.close() def populateAnswers(self, post): self.answer.addFromPost(post) test_file = open(self.path+'/answer', 'ab') test_file.write(self.answer.serializePostForFile(post)) test_file.close()