def post(self): accept_keys = map(lambda x: int(x) if x.isdigit() else x, self.request.POST.getall("accept_keys[]")) reject_keys = map(lambda x: int(x) if x.isdigit() else x, self.request.POST.getall("reject_keys[]")) accepted_suggestion_futures = [ Suggestion.get_by_id_async(key) for key in accept_keys ] rejected_suggestion_futures = [ Suggestion.get_by_id_async(key) for key in reject_keys ] accepted_suggestions = map(lambda a: a.get_result(), accepted_suggestion_futures) rejected_suggestions = map(lambda a: a.get_result(), rejected_suggestion_futures) MatchSuggestionAccepter.accept_suggestions(accepted_suggestions) all_suggestions = accepted_suggestions all_suggestions.extend(rejected_suggestions) for suggestion in all_suggestions: if suggestion.key.id() in accept_keys: suggestion.review_state = Suggestion.REVIEW_ACCEPTED if suggestion.key.id() in reject_keys: suggestion.review_state = Suggestion.REVIEW_REJECTED suggestion.reviewer = self.user_bundle.account.key suggestion.reviewed_at = datetime.datetime.now() ndb.put_multi(all_suggestions) self.redirect("/suggest/match/video/review")
def post(self): self._require_admin() accept_keys = map(int, self.request.POST.getall("accept_keys[]")) reject_keys = map(int, self.request.POST.getall("reject_keys[]")) accepted_suggestion_futures = [Suggestion.get_by_id_async(key) for key in accept_keys] rejected_suggestion_futures = [Suggestion.get_by_id_async(key) for key in reject_keys] accepted_suggestions = map(lambda a: a.get_result(), accepted_suggestion_futures) rejected_suggestions = map(lambda a: a.get_result(), rejected_suggestion_futures) MatchSuggestionAccepter.accept_suggestions(accepted_suggestions) all_suggestions = accepted_suggestions all_suggestions.extend(rejected_suggestions) for suggestion in all_suggestions: if suggestion.key.id() in accept_keys: suggestion.review_state = Suggestion.REVIEW_ACCEPTED if suggestion.key.id() in reject_keys: suggestion.review_state = Suggestion.REVIEW_REJECTED suggestion.reviewer = self.user_bundle.account.key suggestion.reviewer_at = datetime.datetime.now() ndb.put_multi(all_suggestions) self.redirect("/admin/suggestions/match/video/review")
def test_accept_suggestions(self): MatchSuggestionAccepter.accept_suggestions([self.suggestion]) match = Match.get_by_id("2012ct_qm1") self.assertTrue("abcdef" in match.youtube_videos) self.assertTrue("123456" in match.youtube_videos)