def test_valid_steps(self): review = Review() review.set_submission('Author submission (submission.doc)') review.set_review_request_1('Request the first reviewer') review.set_review_request_2('Request the second reviewer') review.set_review_response_1('Response from the first reviewer') review.set_review_response_2('Response from the second reviewer') review.set_evaluation_result('Evaluation result to the author')
def add_review_by_user(user: User, submisson: Submission, review_type: int) -> None: review = Review(user=user, submission=submisson, review_type=review_type, mwe=mwe_helper.get_todays_mwe(user.language)) session.add(review) session.commit() pass
def test_invalid_previous_steps(self): review = Review() review.set_submission('Author submission (submission.doc)') review.set_review_request_1('Request the first reviewer') review.set_review_request_2('Request the second reviewer') with self.assertRaises(ValueError): review.set_review_request_2('Request the second reviewer') with self.assertRaises(ValueError): review.set_review_request_1('Request the first reviewer') with self.assertRaises(ValueError): review.set_submission('Author submission (submission.doc)')
def test_invalid_steps(self): review = Review() with self.assertRaises(ValueError): review.set_review_request_1('Request the first reviewer') with self.assertRaises(ValueError): review.set_review_request_2('Request the second reviewer') with self.assertRaises(ValueError): review.set_review_response_1('Response from the first reviewer') with self.assertRaises(ValueError): review.set_review_response_2('Response from the second reviewer') with self.assertRaises(ValueError): review.set_evaluation_result('Evaluation result to the author')
def _parse_review(self, li): _user_info = li('div', class_='dper-info')[0] _user_rank = li('div', class_='review-rank')[0] _user_words = li('div', class_='review-words')[0] _reply = li('a', class_='reply')[0] _review_pic_li = li('div', class_='review-pictures') _review_pics = _review_pic_li[0] if _review_pic_li else None _review_info = li('div', class_='misc-info')[0] _score = _user_rank('span', class_='item') _actions = _review_info('span', class_='actions')[0] _actions_a = _actions('a') actions = {} imgs = [] user_img = li.img['data-lazyload'].split('%')[0] # 有可能是匿名用户 user_url = HOST + li.a['href'].strip() if li.a.has_attr( 'href') else None user_id = li.a['data-user-id'] user_name = _user_info.a.text.strip() user_level = from_pattern( PATTERN_USER_LEVEL, _user_info.img['src']) if _user_info.img else None use_vip = True if _user_info.span and _user_info.span['class'][ 0] == 'vip' else False star = from_pattern(PATTERN_STAR, ''.join(_user_rank.span['class'])) score = { i.text.strip().split(':')[0]: i.text.strip().split(':')[1] for i in _score } review_time = _review_info.span.text.strip() review_shop = _review_info('span', class_='shop')[0].text review_shop_id = self.id review_id = _reply['data-id'] review_url = 'http:' + _reply['href'] for a in _actions_a: action_name = a.text.strip() _next = a.next_sibling.next_sibling if _next and _next.name == 'em': num = from_pattern(PATTERN_NUMS, _next.text) actions[action_name] = num if _review_pics: for pic in _review_pics('img'): imgs.append(pic['data-big']) words = self.decrypter.decrypt(_user_words, *self.decrypt_dict, comment=True) review = Review(user_name, user_id, user_url, user_img, user_level, use_vip, star, score, review_id, review_url, review_time, review_shop, review_shop_id, imgs, words, actions) return review
def review_handler_2(user: User, update: Update, context: CallbackContext): review_types = [ get_language_token(user.language, Tokens.AGREE_NICE_EXAMPLE), get_language_token(user.language, Tokens.DO_NOT_LIKE_EXAMPLE), get_language_token(user.language, Tokens.SKIP_THIS_ONE), get_language_token(user.language, Tokens.QUIT_REVIEWING) ] user = get_user_from_update(update) if update.message.text in review_types: submission = context.user_data["submission"] todays_mwe = mwe_helper.get_todays_mwe(user.language) points_earned_for_submission = { "together": 10, "separated": 20, "non-mwe": 30 } if update.message.text == review_types[0]: points_earned = points_earned_for_submission[submission.category] reply_message = get_language_token( user.language, Tokens.SOMEONE_LOVED_YOUR_EXAMPLE) % ( get_random_congrats_message(user.language), points_earned) send_message_to_user(submission.user, reply_message) review = Review(user=user, mwe=todays_mwe, submission=submission, review_type=POSITIVE_REVIEW) session.add(review) session.commit() review_handler(user, update, context) elif update.message.text == review_types[1]: review = Review(user=user, mwe=todays_mwe, submission=submission, review_type=NEGATIVE_REVIEW) session.add(review) session.commit() review_handler(user, update, context) elif update.message.text == review_types[2]: review = Review(user=user, mwe=todays_mwe, submission=submission, review_type=NEUTRAL_REVIEW) session.add(review) session.commit() review_handler(user, update, context) elif update.message.text == review_types[3]: del context.user_data["submission"] del context.user_data["state"] update.message.reply_text( get_language_token(user.language, Tokens.THANKS_FOR_CONTRIBUTION), parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=get_main_keyboard_markup(user.language)) else: update.message.reply_text( get_language_token(user.language, Tokens.PLEASE_ENTER_VALID_REVIEW), parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=get_review_type_keyboard_keyboard_markup( user.language))
def add_customer_review_db(session, customer, review, rating): review = Review(review, rating) customer.reviews.append(review) session.add(review) session.commit() return review
def test_review_creation(self): review = Review()
service.create_customer(customer) elif opt == 5: id = int(input("Enter customer id: ")) service.list_reviews(id) else: print("Please select one from the given options.") elif inp == 3: service = ReviewService(conn) print("1. See all reviews") print("2. Add review") opt = int(input()) if opt == 1: service.list_reviews() elif opt == 2: id = int(input("Enter review id: ")) customer_id = int(input("Enter customer id: ")) restaurant_id = int(input("Enter restaurant id: ")) text = input("Enter review: ") rating = float(input("Enter rating (1-5)")) review = Review(id, customer_id, restaurant_id, text, rating) service.add_review(review) else: print("Please select one from the given options.") elif inp == 4: exit() else: print("Please select one from the given options.") continue