def get_event_log_file(eventID=None): """ This function selects data from the database and uses it to construct a file path and name. :return: The string value representing the directory path to the log file """ working_directory = os.getcwd() working_directory += "\\Logs\\EventLogs\\" connection = MIS_Database_Functions.get_connection() cursor = connection.cursor() cursor.execute("SELECT semester_tag FROM Semester WHERE semester_num = (SELECT MAX(semester_num) FROM Semester)") file_name = cursor.fetchone()[0] if eventID is None: cursor.execute("SELECT MAX(eventID) FROM Event") else: cursor.execute("SELECT eventID FROM Event WHERE eventID = %d" % eventID) event_id = cursor.fetchone()[0] cursor.execute("SELECT company FROM Event WHERE (eventID = \'" + str(event_id) + "\')") company_name = cursor.fetchone()[0] file_name += "_ID" + str(event_id) + "_" + company_name file_name = file_name.replace(" ", "_") log_file = working_directory + file_name return log_file
def get_data(self): self.member_netID_to_create = self.create_netID_entry.get() self.member_major_to_create = self.create_major_entry.get() self.member_classification_to_create = self.create_classification_entry.get() self.member_name_to_create = self.create_name_entry.get() select_sql_string = "SELECT * FROM Member WHERE netID='"+self.member_netID_to_create+"'" connection = MIS_Database_Functions.get_connection() cursor = connection.cursor() cursor.execute(select_sql_string) member_data = cursor.fetchone() if member_data is None: raw_html = Info_IaState_Scraper.get_raw_html(self.member_netID_to_create) parsed_data = Info_IaState_Scraper.parse_student_data(raw_html) self.create_classification_entry.insert(0, parsed_data['classification']) self.create_major_entry.insert(0, parsed_data['major']) if 'Individual Search Results' not in parsed_data['name']: self.create_name_entry.insert(0, parsed_data['name']) self.trial_checkbox.select() else: self.create_classification_entry.insert(0, member_data[3]) self.create_major_entry.insert(0, member_data[2]) self.create_name_entry.insert(0, member_data[4]) if member_data[5] == 2: self.two_semesters_checkbox.select() elif member_data[5] == 1: self.one_semester_checkbox.select() else: for i in range(4): self.trial_checkbox.flash() self.one_semester_checkbox.flash() self.two_semesters_checkbox.flash()
def check_in_member(self): self.member_netID_to_create = self.create_netID_entry.get() self.member_major_to_create = self.create_major_entry.get() self.member_classification_to_create = self.create_classification_entry.get() self.member_name_to_create = self.create_name_entry.get() if self.member_netID_to_create is None: return if self.trial == 0 and self.one_semester == 0 and self.two_semesters == 0: return select_sql_string = "SELECT * FROM Member WHERE netID='"+self.member_netID_to_create+"'" connection = MIS_Database_Functions.get_connection() cursor = connection.cursor() cursor.execute(select_sql_string) member_data = cursor.fetchone() cursor.execute("SELECT eventID FROM event WHERE eventID=(SELECT MAX(eventID) FROM event)") event_id = cursor.fetchone() if member_data is None: # Create the new member in the DB insert_sql_string = "INSERT INTO Member VALUES('"+str(self.member_netID_to_create)+"', '" + \ str(self.member_netID_to_create) + "@iastate.edu', '"\ + str(self.member_major_to_create) + \ "', '"+str(self.member_classification_to_create)+"', '"\ + str(self.member_name_to_create)+"', " if self.trial.get() == 1: insert_sql_string += "0)" elif self.one_semester.get() == 1: insert_sql_string += "1)" elif self.two_semesters.get() == 1: insert_sql_string += "2)" else: raise Exception("No Check box Marked") cursor.execute(insert_sql_string) create_ticket_sql_string = "INSERT INTO Ticket VALUES("+str(event_id[0])+", '" + \ self.member_netID_to_create+"')" print(create_ticket_sql_string) try: cursor.execute(create_ticket_sql_string) self.notification['text'] = "Welcome to the Event "+self.member_name_to_create+"!" except IOError as e: self.notification['text'] = "Error "+str(e) print(str(e)) except Exception as e: if "UNIQUE" in str(e): self.notification['text'] = "Seems you are already checked in. Welcome!" else: self.notification['text'] = "Error "+str(e) print(str(e)) finally: connection.commit() self.notification.pack() self.create_major_entry.delete(0, len(self.member_major_to_create)) self.create_classification_entry.delete(0, len(self.member_classification_to_create)) self.create_name_entry.delete(0, len(self.member_name_to_create)) self.create_netID_entry.delete(0, len(self.member_netID_to_create)) self.trial_checkbox.deselect() self.one_semester_checkbox.deselect() self.two_semesters_checkbox.deselect()