def __init__(self, sock, parent = None): QtGui.QWidget.__init__(self, parent) self.sock = sock self.registrationForm = Ui_RegistrationForm() self.registrationForm.setupUi(self) self.connect(self.registrationForm.RegisterBtn, QtCore.SIGNAL("clicked()"), lambda : self.registration_start(True))
class RegisterWindow(QtGui.QWidget): def __init__(self, sock, parent = None): QtGui.QWidget.__init__(self, parent) self.sock = sock self.registrationForm = Ui_RegistrationForm() self.registrationForm.setupUi(self) self.connect(self.registrationForm.RegisterBtn, QtCore.SIGNAL("clicked()"), lambda : self.registration_start(True)) def registration_start(self, flag): login = unicode(self.registrationForm.LoginRegister.text()).strip() password = unicode(self.registrationForm.PassRegister.text()).strip() if login == "" or password == "": self.registrationForm.showError("Вы не ввели имья пользователя или пароль!!!") return try: f = open(pathDb()) f.close() except IOError: with connectDb() as con: curr = con.cursor() curr.execute( """ create table t_user( id integer not null primary key autoincrement, user text null, passwd text null, last_login integer null ); """ ) con.commit() # con.close() err = registerOnServer(login, password, self.sock) if err: self.registrationForm.showError(err) return else: if not self.register(login, password): self.close() def register(self, login, password): id_list = [] with connectDb() as conn: curr = conn.cursor() curr.execute( """ select id from t_user where user = ?; """, (unicode(login), ) ) for i in curr: id_list.append(i) print id_list if len(id_list) == 0: curr.execute( """ insert into t_user(user, passwd) values(?, ?); """,(unicode(login), unicode(password), ) ) conn.commit() else: self.registrationForm.showError("Данный пользователь уже сущесвствует") return True def closeEvent(self, event): self.sock.sendall("finishRegistration") event.accept()