def SetSelectIp(self): index = int(self.buttonGroup.checkedButton().objectName().replace( "selectIp", "")) - 1 if index == 0: User().address = "" else: User().address = User().addresss[index - 1]
def test_user_credentials_are_invalid_if_incorrect_password_is_supplied( self, mock_bcrypt): hashed_password = '******' mock_bcrypt.hashpw.return_value = "not-the-same-hash" user = User(email="*****@*****.**", password=hashed_password) valid_credentials = user.checkCredentials(plain_text_password="******") self.assertEqual(valid_credentials, False)
def Login(self): self.SetSelectIp() userId = self.userIdEdit.text() passwd = self.passwdEdit.text() User().SetUserInfo(userId, passwd) QtTask().AddHttpTask(lambda x: User().Login(x), self.LoginBack) self.owner().loadingForm.show()
def is_user_connected(): user_id = session.get("USER") if user_id and User.does_id_exist(mongo.db.users, user_id): return True elif user_id: session.clear() return False
def Register(self): if not self.buttonGroup.checkedButton(): # QtWidgets.QMessageBox.information(self, '错误', "不能为空", QtWidgets.QMessageBox.Yes) QtBubbleLabel.ShowErrorEx(self, "不能为空") return if len(self.passwdEdit.text()) < 8: # QtWidgets.QMessageBox.information(self, '错误', "密码太短", QtWidgets.QMessageBox.Yes) QtBubbleLabel.ShowErrorEx(self, "密码太短") return data = { "email": self.userEdit.text(), "password": self.passwdEdit.text(), "name": self.nameEdit.text(), "birthday": self.birthdayEdit.text().replace("/", "-"), "gender": self.buttonGroup.checkedButton().objectName().replace("gender_", ""), # m, f, bot "answer1": self.answer1Edit.text(), "answer2": self.answer2Edit.text(), "answer3": self.answer3Edit.text(), "question1": self.question1Edit.text(), "question2": self.question2Edit.text(), "question3": self.question3Edit.text() } for v in data.values(): if not v: # QtWidgets.QMessageBox.information(self, '错误', "不能为空", QtWidgets.QMessageBox.Yes) QtBubbleLabel.ShowErrorEx(self, "不能为空") return self.loadingForm.show() self.owner().qtTask.AddHttpTask(lambda x: User().Register(data, x), self.RegisterBack) return
def DelAndFavorites(self, bookIds): self.owner().loadingForm.show() self.dealCount = len(bookIds) for bookId in bookIds: self.owner().qtTask.AddHttpTask(lambda x: User().AddAndDelFavorites(bookId, x), self.DelAndFavoritesBack) pass
def UpdatePagesBack(self, st): self.owner().loadingForm.close() self.bookList.UpdateState() if st == Status.Ok: pageNums = User().pages page = User().page self.nums.setText("收藏数:{}".format(str(User().total))) self.pages.setText("页:{}/{}".format(str(page), str(pageNums))) self.bookList.UpdatePage(page, pageNums) self.lineEdit.setValidator(QtIntLimit(1, pageNums, self)) for index, info in enumerate(User().category.get(self.bookList.page)): url = info.thumb.get("fileServer") path = info.thumb.get("path") originalName = info.thumb.get("originalName") data = "完本," if info.finished else "" data += "{}E/{}P".format(str(info.epsCount), str(info.pagesCount)) self.bookList.AddBookItem(info.id, info.title, data, url, path, originalName)
def _create_records(players): records = [] for player_record_data in players: name = player_record_data.pop('name') player_key = User.query(User.name == name).get(keys_only=True) player_record_data['player_key'] = player_key record = PoolPlayerRecord(**player_record_data) records.append(record) ndb.put_multi(records) return records
def SendMsg(self): msg = self.lineEdit.text() if not msg: return info = dict(User().userInfo) if User().avatar: info[ 'avatar'] = "https://storage.wikawika.xyz" + "/static/" + User( ).avatar.get("path") info['at'] = "" info['audio'] = "" info['message'] = msg info['reply'] = "" info['reply_name'] = "" info['image'] = "" info['block_user_id'] = "" data = "42" + json.dumps(["send_message", info]) self.socket.Send(data) self._RecvBroadcastMsg(info)
def SignBack(self, msg): self.owner().loadingForm.close() if msg == Status.Ok: self.signButton.setEnabled(False) self.signButton.setText("已签到") self.owner().qtTask.AddHttpTask( lambda x: User().UpdateUserInfo(x), self.owner().loginForm.UpdateUserBack) self.update() return
def UpdateUserBack(self, msg): self.owner().userForm.UpdateLabel(User().name, User().level, User().exp, User().isPunched) if not User().avatar: return url = User().avatar.get("fileServer") path = User().avatar.get("path") if url and path and config.IsLoadingPicture: self.owner().qtTask.AddDownloadTask(url, path, None, self.ShowUserImg)
def LoginBack(self, msg): self.owner().loadingForm.close() if msg == Status.Ok: # self.close() self.owner().stackedWidget.setCurrentIndex(1) self.owner().qtTask.AddHttpTask(lambda x: User().UpdateUserInfo(x), self.UpdateUserBack) self.owner().searchForm.InitKeyWord() self.owner().indexForm.Init() else: # QtWidgets.QMessageBox.information(self, '登陆失败', msg, QtWidgets.QMessageBox.Yes) self.owner().msgForm.ShowError("登陆失败, " + msg)
def find(self, email): result = self._database.execute( 'select * from persons join %s on id = person_id where email = "%s"' % (self._table, email)) row = result.fetchone() if row is None: return None else: return User(firstName=row.firstname, lastName=row.lastname, email=row.email, password=row.password)
def SendMsg(self): msg = self.lineEdit.text() if not msg: return info = dict(User().userInfo) info['audio'] = "" info['message'] = msg info['reply'] = "" info['reply_name'] = "" info['image'] = "" data = "42" + json.dumps(["send_message", info]) self.socket.Send(data) self._RecvBroadcastMsg(info)
def InitBack(self, msg): self.owner().loadingForm.close() if msg == Status.Ok: for index, ip in enumerate(User().addresss, 2): selectIp = QtWidgets.QRadioButton(self) selectIp.setObjectName("selectIp" + str(index)) self.horizontalLayout_4.addWidget(selectIp) self.buttonGroup.addButton(selectIp) selectIp.setText("分流" + str(index)) self.update() else: # QtWidgets.QMessageBox.information(self, , QtWidgets.QMessageBox.Yes) self.owner().msgForm.ShowError("无法获取哔咔分流列表") pass
def UpdateUserBack(self, msg): self.owner().userForm.UpdateLabel(User().name, User().level, User().exp, User().isPunched) url = User().avatar.get("fileServer") path = User().avatar.get("path") if url and path: self.owner().qtTask.AddDownloadTask(url, path, None, self.ShowUserImg)
def SpeedTest(self): self.testSpeedButton.setEnabled(False) self.loginButton.setEnabled(False) self.registerButton.setEnabled(False) self.speedIndex = 0 self.speedTest = [] self.speedTest = [("", False), ("", True)] for address in User().addresss: self.speedTest.append((address, False)) self.speedTest.append((address, True)) for i in range(len(self.speedTest)): row = i // 2 + 1 col = i % 2 + 1 item = self.gridLayout_4.itemAtPosition(row, col) if item: item.widget().setText("") self.StartSpeedTest()
def register(self, data, locator): degiro = Degiro() try: degiro.login(data["username"], data["password"], data["code"] if len(data["code"]) > 0 else None) except ConnectionError as err: raise RegistrationException(err) now = datetime.now() user = DegiroUser(None, degiro.user["firstContact"]["firstName"], degiro.user["firstContact"]["lastName"], degiro.user["email"], now, now, locator.get_geoip_data(), self.encryptor, degiro.session_id, degiro.account_id) if User.does_email_exist(self.collection, user.email): raise RegistrationException( "Email already in database. Try signing in.") user.id = self.collection.insert_one(user.to_db_dict()).inserted_id return user
def register(self, data, locator): now = datetime.now() data = { "pass": self.encryptor.encrypt(data["password"].encode()), "first_name": self.encryptor.encrypt(data["first_name"].encode()), "last_name": self.encryptor.encrypt(data["last_name"].encode()), "email": data["email"], "type": "email", "creation_date": now, "last_connection": now, "geolocation": locator.get_geoip_data() } user = self.collection.find_one({"email": data["email"]}) if user is not None: raise RegistrationException( "Email already in database. Try signing in.") user_id = self.collection.insert_one(data) return User(user_id.inserted_id, data["first_name"], data["last_name"], data["email"], now, now, data["geolocation"], self.encryptor)
def RefreshData(self): if not User().category.get(self.bookList.page): self.LoadPage(self.bookList.page) else: self.UpdatePagesBack(Status.Ok)
def RefreshDataFocus(self): User().category.clear() self.bookList.UpdatePage(1, 1) self.bookList.UpdateState() self.bookList.clear() self.RefreshData()
def LoginRoom(self): data = ["init", User().userInfo] msg = "42{}".format(json.dumps(data)) self.socket.Send(msg)
def test_user_credentials_are_invalid_if_incorrect_password_is_supplied(self, mock_bcrypt): hashed_password = '******' mock_bcrypt.hashpw.return_value = "not-the-same-hash" user = User(email = "*****@*****.**", password = hashed_password) valid_credentials = user.checkCredentials(plain_text_password = "******") self.assertEqual(valid_credentials, False)
def __call__(self, backData): from src.user.user import User st, page = User().UpdateFavoritesBack(backData) time.sleep(0.1) if backData.bakParam: QtTask().taskBack.emit(backData.bakParam, st)
def Init(self): self.owner().loadingForm.show() QtTask().AddHttpTask(lambda x: User().Init(x), self.InitBack) return
def __call__(self, backData): from src.user.user import User st = User().InitImageServer(backData) if backData.bakParam: QtTask().taskBack.emit(backData.bakParam, st)
def SwitchCurrent(self): if User().token: self.Init() if not self.bookList3.count(): self.InitRandom() pass
def LoadPage(self, page): sortKey = self.sortList[self.comboBox.currentIndex()] self.owner().qtTask.AddHttpTask( lambda x: User().UpdateFavorites(page, sortKey, x), self.UpdatePagesBack) self.owner().loadingForm.show()
def __call__(self, backData): from src.user.user import User st = User().RegisterBack(backData) time.sleep(0.1) if backData.bakParam: QtTask().taskBack.emit(backData.bakParam, st)
def get(self): users = User.query().fetch() names = [u.name for u in users] return json.dumps(names), 200
def AddFavority(self): User().AddAndDelFavorites(self.bookId) QtBubbleLabel.ShowMsgEx(self, "添加收藏成功") self.favorites.setEnabled(False)
def __call__(self, backData): from src.user.user import User st = User().PunchedBack(backData) if backData.bakParam: QtTask().taskBack.emit(backData.bakParam, st)