def giveAnswer(self): self.setHeaders([{'type': 'CONTENT-TYPE', 'value': 'application/json'}]) jsonBody = self.readPayload() isCorrect = ExerciseHandler.checkAnswer(jsonBody['questionId'], jsonBody['answer']) parameters = urlparse.parse_qs(urlparse.urlparse(self.path).query) UserHandler.setQuestionAnswer(parameters['user'][0], parameters['questionNumber'][0], jsonBody['answer'], isCorrect)
def giveAnswer(self): self.setHeaders([{ 'type': 'CONTENT-TYPE', 'value': 'application/json' }]) jsonBody = self.readPayload() isCorrect = ExerciseHandler.checkAnswer(jsonBody['questionId'], jsonBody['answer']) parameters = urlparse.parse_qs(urlparse.urlparse(self.path).query) UserHandler.setQuestionAnswer(parameters['user'][0], parameters['questionNumber'][0], jsonBody['answer'], isCorrect)
def test_delete_other_user(dummy_user): # No integration test possible because the application flow currently # doesn't allow for this scenario to occur. _, user_id = save(dummy_user) mock_request = Mock() type(mock_request).authenticated_userid = PropertyMock( return_value=str(uuid.uuid4())) user_handler = UserHandler(get_user_by_id(user_id), mock_request) with pytest.raises(HTTPNoContent): user_handler.delete() assert get_user_by_id(user_id) is None
def write(msg, fromUser, lang): user_handler = UserHandler() if len(msg.split()) == 0: content = Resource.getMsg("EmptyMsg") elif (user_handler.verify_user(fromUser) == 0): # Qulified User if int(DBHandler().insert( "INSERT into Notepad VALUES (null, '%s', null, '%s')" % (fromUser, msg))) == 1: content = Resource.getMsg("Recorded") else: content = Resource.getMsg("FailRecord") else: content = Resource.getMsg("QualifiedUser") return content
def remove(msg, fromUser, lang): user_handler = UserHandler() if (user_handler.verify_user(fromUser) == 0): # Qulified User note_set = DBHandler().select( "SELECT IND from Notepad WHERE Open_ID = '%s'" % fromUser) index = 1 for line in note_set[1]: if msg == str(index): DBHandler().delete("DELETE from Notepad where IND = '%d'" % line[0]) index += 1 content = Resource.getMsg("Removed") else: content = Resource.getMsg("QualifiedUser") return content
def check(msg, fromUser, lang): content = "" user_handler = UserHandler() if (user_handler.verify_user(fromUser) == 0): # Qulified User note_set = DBHandler().select( "SELECT RecoreData,Note from Notepad WHERE Open_ID = '%s'" % fromUser) index = 1 for line in note_set[1]: content = content + str(index) + ") " + line[0].strftime( "%Y-%m-%d %H:%M:%S") + " " + line[1] + "\n" index += 1 else: content = Resource.getMsg("QualifiedUser") return content
def handle_payee(update, context): username = update.message.chat.username payee = update.message.text if payee == 'Back': payee = context.user_data['payee'] try: response = UserHandler.find_user(payee) if payee == username: update.message.reply_text( 'You cannot make transactions to yourself!') return handle_exit_to_main(update, context) elif response: update.message.reply_text( f'Payee\'s telegram username is {payee}. Please specify amount to pay in cents. For $1, input: 100', reply_markup=ReplyKeyboardMarkup(build_navigation_keyboard(), one_time_keyboard=True)) context.user_data['payee'] = payee return TRANSACTION_AMOUNT else: update.message.reply_text( f'Payee: {payee}. does not exist'.format(payee)) return handle_exit_to_main(update, context) except Exception as e: print(chalk.blue("handle_payee")) print(e) update.message.reply_text("An error occur in handle_payee")
def test_searchByUser_AddedInList(self): userHandler = UserHandler.UserListHandler() userData = { "Name": "Ana Lopez", "Address": "Av.Madeiras 197, Int.86", "Phone": "3352525343", "Email": "*****@*****.**" } user2Data = { "Name": "Maria Gonzalez", "Address": "Calle Jaque #210", "Phone": "4491123908", "Email": "*****@*****.**" } userHandler.createNewUserRecord(userData) userHandler.createNewUserRecord(user2Data) userResults = userHandler.searchUserBy("Name", "Maria Gonzalez") for user in userResults.myList: name = user.getUserRecord()["Name"] address = user.getUserRecord()["Address"] phone = user.getUserRecord()["Phone"] email = user.getUserRecord()["Email"] self.assertEqual(name, "Maria Gonzalez") self.assertEqual(address, "Calle Jaque #210") self.assertEqual(phone, "4491123908") self.assertEqual(email, "*****@*****.**")
def test_searchByUser_Loadedfromfile(self): userHandler = UserHandler.UserListHandler() userHandler.loadUserRecord("test_users.txt") userResults = userHandler.searchUserBy("Name", "Irma Nataly Alonso de Leon") for user in userResults.myList: name = user.getUserRecord()["Name"] address = user.getUserRecord()["Address"] phone = user.getUserRecord()["Phone"] email = user.getUserRecord()["Email"] self.assertEqual(name, "Irma Nataly Alonso de Leon") self.assertEqual(address, "Av.Madeiras 197, Int.46") self.assertEqual(phone, "3318623976") self.assertEqual(email, "*****@*****.**")
def sendQuestion(self): try: parameters = urlparse.parse_qs(urlparse.urlparse(self.path).query) print parameters additionalMessage = 'okay' questionNumber = int(parameters['questionNumber'][0]) if len(ExerciseHandler.exercises) - 1 < questionNumber: questionNumber = len(ExerciseHandler.exercises) - 1 additionalMessage = 'Last question reached!' exercise = ExerciseHandler.exercises[questionNumber] user = UserHandler.getUserByName(parameters['user'][0]) userAnswer = '' if user is not None: questionAnswer = user.checkIfAlreadyAnswered(exercise.id) if questionAnswer is not None: userAnswer = questionAnswer['answer'] if exercise.type == 'freeText': self.wfile.write( json.dumps({ 'id': exercise.id, 'type': 'freeText', 'question': exercise.exerciseText, 'givenAnswer': userAnswer, 'additionalMessage': additionalMessage })) elif exercise.type == 'multipleChoice': answerSelection = [] for correctAnswer in exercise.correctAnswers: answerSelection.append(correctAnswer) for wrongAnswer in exercise.wrongAnswers: answerSelection.append(wrongAnswer) random.shuffle(answerSelection) self.wfile.write( json.dumps({ 'id': exercise.id, 'type': 'multipleChoice', 'question': exercise.exerciseText, 'answerSelection': answerSelection, 'givenAnswer': userAnswer, 'additionalMessage': additionalMessage })) except IndexError as e: print str(e)
def run(self, arg_input_video_folder, arg_user_root_folder, arg_selection): logger.info("Running Application with video folder: " + arg_input_video_folder + " user folder: " + arg_user_root_folder + "\n") # Create objects tmp_motion_start_detector = MotionStartDetector.MotionStartDetector() tmp_user_handler = UserHandler.UserHandler() tmp_motion_time_user_matching = MotionTimeUserMatching.MotionTimeUserMatching( ) tmp_full_clip_cut_extractor = FullClipExtractor.FullClipExtractor() tmp_tracker_clip_extractor = TrackerClipExtractor.TrackerClipExtractor( ) if not os.path.exists(arg_input_video_folder): raise ValueError("Video folder is not a valid folder: " + arg_input_video_folder) if not os.path.exists(arg_user_root_folder): raise ValueError("User folder is not a valid folder: " + arg_user_root_folder) if ActionOptions.GENERATE_MOTION_FILES.value in arg_selection: tmp_motion_start_detector.create_motion_start_files( arg_input_video_folder) if ActionOptions.INIT_USERS.value in arg_selection: tmp_user_handler.init(arg_user_root_folder) if ActionOptions.MATCH_LOCATION_IN_MOTION_FILES.value in arg_selection: tmp_motion_time_user_matching.match_motion_start_times_with_users( arg_input_video_folder, tmp_user_handler) if ActionOptions.GENERATE_FULL_CLIP_OUTPUTS.value in arg_selection: clip_specification_list = tmp_user_handler.create_clip_specifications( ClipTypes.FULL_CLIP) tmp_full_clip_cut_extractor.extract_clips_from_list( clip_specification_list) if ActionOptions.GENERATE_TRACKER_CLIP_OUTPUTS.value in arg_selection: clip_specification_list = tmp_user_handler.create_clip_specifications( ClipTypes.TRACKER_CLIP) tmp_tracker_clip_extractor.extract_clips_from_list( clip_specification_list)
def handle_fund_manager(update, context): fund_manager = update.message.text if fund_manager == 'Back': fund_manager = context.user_data['fund_manager'] try: response = UserHandler.find_user(fund_manager) if response: update.message.reply_text( f'Fund Manager\'s telegram username to deposit/withdraw from is {fund_manager}. Do you confirm?', reply_markup=ReplyKeyboardMarkup(build_confirmation_keyboard(), one_time_keyboard=True)) context.user_data['fund_manager'] = fund_manager return FUND_CONFIRMATION else: update.message.reply_text( f'Admin: {fund_manager}. does not exist'.format(fund_manager)) return handle_exit_to_main(update, context) except Exception as e: print(e) update.message.reply_text("An error occur in handle_transaction")
def sendQuestion(self): try: parameters = urlparse.parse_qs(urlparse.urlparse(self.path).query) print parameters additionalMessage = 'okay' questionNumber = int(parameters['questionNumber'][0]) if len(ExerciseHandler.exercises) - 1 < questionNumber: questionNumber = len(ExerciseHandler.exercises) - 1 additionalMessage = 'Last question reached!' exercise = ExerciseHandler.exercises[questionNumber] user = UserHandler.getUserByName(parameters['user'][0]) userAnswer = '' if user is not None: questionAnswer = user.checkIfAlreadyAnswered(exercise.id) if questionAnswer is not None: userAnswer = questionAnswer['answer'] if exercise.type == 'freeText': self.wfile.write(json.dumps({'id': exercise.id, 'type': 'freeText', 'question': exercise.exerciseText, 'givenAnswer': userAnswer, 'additionalMessage': additionalMessage})) elif exercise.type == 'multipleChoice': answerSelection = [] for correctAnswer in exercise.correctAnswers: answerSelection.append(correctAnswer) for wrongAnswer in exercise.wrongAnswers: answerSelection.append(wrongAnswer) random.shuffle(answerSelection) self.wfile.write( json.dumps({'id': exercise.id, 'type': 'multipleChoice', 'question': exercise.exerciseText, 'answerSelection': answerSelection, 'givenAnswer': userAnswer, 'additionalMessage': additionalMessage})) except IndexError as e: print str(e)
def __init__(self,action_pipe_name,data_pipe_name,do_conct_pipe,do_handle_users): self.ip = '' self.port = 0 self.client_num = None self.client_addr = (self.ip, self.port) self.request_sock = None self.server_sock = None self.report_sock = None self.last_node_received = None self.action_pipe_name = action_pipe_name self.data_pipe_name = data_pipe_name self.do_conct_pipe = do_conct_pipe self.do_handle_users = do_handle_users self.Send_msg_Hndler = Send_Message_Handler() self.is_acked = False self.hash_to_msg = {} self.temp = 0 if self.do_handle_users == "true": import UserHandler self.userHandler = UserHandler.user_handler() thread.start_new_thread(self.userHandler.listen_and_accept,() )