def professor_toggle_dislike(self, request): user = endpoints.get_current_user() professor = Professor.get_professor(request.value) if not(user and professor): return API.BooleanMessage(value=False) professor.toggle_dislike(user.email()) return API.BooleanMessage(value=True)
def professor_rate(self, request): user = endpoints.get_current_user() professor = Professor.get_professor(request.id) if not(user and professor): return API.BooleanMessage(value=False) professor.rate(user.email(), request.personality, request.teaching_skill, request.research_skill, request.knowledge_level) return API.BooleanMessage(value=True)
def professor_get_rating(self, request): user = endpoints.get_current_user() professor = Professor.get_professor(request.value) if not (professor and user): return RatingResponse() rating = professor.get_rating(user.email()) if not rating: return RatingResponse() return RatingResponse(rating=createRatingMessage(rating))
def professor_get_articles(self, request): professor = Professor.get_professor(request.value) if not professor: return article_api.MultiArticleResponse(articles=[]) articles = [article_api.createArticleMessage(article) for article in professor.get_articles()] return article_api.MultiArticleResponse(articles=articles)
def professor_get_comments(self, request): professor = Professor.get_professor(request.value) if not professor: return comment_api.MultiCommentResponse(comments=[]) comments = [comment_api.createCommentMessage(comment) for comment in professor.get_comments()] return comment_api.MultiCommentResponse(comments=comments)
def professor_get(self, request): professor = Professor.get_professor(request.value) if not professor: return ProfessorResponse() return ProfessorResponse(professor=createProfessorMessage(professor))
def professor_write_article(self, request): user = endpoints.get_current_user() professor = Professor.get_professor(request.id) if not(user and professor): return API.IntegerMessage(value=-1) return API.IntegerMessage(value=professor.write_article(user.email(), request.title, request.content))