def process_user_rated_video(self, value): user_rated_video = UserRatedVideo() user_rated_video.ParseFromString(value) logging.debug(">>> SuggestedVideosService:HandleUserRatedVideo: ") logging.debug(user_rated_video) self.suggested_videos_service.handle_user_rated_video( video_id=grpc_to_UUID(user_rated_video.video_id), user_id=grpc_to_UUID(user_rated_video.user_id), rating=user_rated_video.rating, timestamp=Timestamp_to_datetime(user_rated_video.rating_timestamp))
def RateVideo(self, request, context): """Rate a video """ logging.debug(">>> RatingsService:RateVideo: ") logging.debug(request) video_id = grpc_to_UUID(request.video_id) user_id = grpc_to_UUID(request.user_id) self.ratings_service.rate_video(video_id=video_id, user_id=user_id, rating=request.rating) return RateVideoResponse()
def GetUserRating(self, request, context): """Gets a user's rating of a specific video and returns 0 if the user hasn't rated the video """ logging.debug(">>> RatingsService:GetUserRating: ") logging.debug(request) result = self.ratings_service.get_user_rating( grpc_to_UUID(request.video_id), grpc_to_UUID(request.user_id)) logging.debug(result) response = GetUserRatingResponse(video_id=UUID_to_grpc( result.video_id), user_id=UUID_to_grpc(result.user_id), rating=result.rating) logging.debug(response) return response
def process_youtube_video_added(self, value): video_added = YouTubeVideoAdded() video_added.ParseFromString(value) logging.debug(">>> SuggestedVideosService:HandleVideoAdded: ") logging.debug(video_added) self.suggested_videos_service.handle_youtube_video_added( video_id=grpc_to_UUID(video_added.video_id), user_id=grpc_to_UUID(video_added.user_id), name=video_added.name, description=video_added.description, location=video_added.location, preview_image_location=video_added.preview_image_location, tags=video_added.tags, added_date=Timestamp_to_datetime(video_added.added_date), timestamp=Timestamp_to_datetime(video_added.timestamp))
def RecordPlaybackStarted(self, request, context): """Record that playback started for a given video """ logging.debug(">>> StatisticsService:RecordPlaybackStarted: ") logging.debug(request) self.statistics_service.record_playback_started(grpc_to_UUID(request.video_id)) return RecordPlaybackStartedResponse()
def GetSuggestedForUser(self, request, context): """Gets personalized video suggestions for a user """ logging.debug(">>> SuggestedVideosService:GetSuggestedForUser: ") logging.debug(request) result = self.suggested_videos_service.get_suggested_for_user( grpc_to_UUID(request.user_id), request.page_size, request.paging_state) return SuggestedVideos_to_GetSuggestedForUserResponse(result)
def GetRelatedVideos(self, request, context): """Gets videos related to another video """ logging.debug(">>> SuggestedVideosService:GetRelatedVideos: ") logging.debug(request) result = self.suggested_videos_service.get_related_videos( grpc_to_UUID(request.video_id), request.page_size, request.paging_state) return RelatedVideos_to_GetRelatedVideosResponse(result)
def process_user_created(self, value): user_created = UserCreated() user_created.ParseFromString(value) logging.debug(">>> SuggestedVideosService:HandleUserCreated: ") logging.debug(user_created) self.suggested_videos_service.handle_user_created( user_id=grpc_to_UUID(user_created.user_id), first_name=user_created.first_name, last_name=user_created.last_name, email=user_created.email, timestamp=Timestamp_to_datetime(user_created.timestamp))
def GetRating(self, request, context): """Gets the current rating stats for a video """ logging.debug(">>> RatingsService:GetRating: ") logging.debug(request) result = self.ratings_service.get_rating(grpc_to_UUID( request.video_id)) logging.debug(result) response = GetRatingResponse(video_id=UUID_to_grpc(result.video_id), ratings_count=result.rating_counter, ratings_total=result.rating_total) logging.debug(response) return response
def GetVideoComments(self, request, context): """Get comments made on a video """ logging.debug(">>> CommentsService:GetVideoComments: ") logging.debug(request) starting_comment_id = None if request.starting_comment_id.value: starting_comment_id = grpc_totimeUUID(request.starting_comment_id) result = self.comments_service.get_video_comments(video_id=grpc_to_UUID(request.video_id), page_size=request.page_size, starting_comment_id=starting_comment_id, paging_state=request.paging_state) logging.debug(result) return VideoComments_to_GetVideoCommentsResponse(result)
def CreateUser(self, request, context): """Creates a new user """ logging.debug(">>> UserManagementService:CreateUser: ") logging.debug(request) user_id = grpc_to_UUID(request.user_id) self.user_management_service.create_user(user_id=user_id, first_name=request.first_name, last_name=request.last_name, email=request.email, password=request.password) return CreateUserResponse()