def publish_user_comment_added_event(self, video_id, user_id, comment_id):

        event = UserCommentedOnVideo(video_id=UUID_to_grpc(video_id),
                                     user_id=UUID_to_grpc(user_id),
                                     comment_id=TimeUUID_to_grpc(comment_id))

        self.producer.send(USER_COMMENT_ADDED_TOPIC, event.SerializeToString())
def VideoPreview_to_SuggestedVideoPreview(video):
    return SuggestedVideoPreview(
        video_id=UUID_to_grpc(video.video_id),
        added_date=datetime_to_Timestamp(video.added_date),
        name=video.name,
        preview_image_location=video.preview_image_location,
        user_id=UUID_to_grpc(video.user_id))
    def publish_youtube_video_added_event(self, video_id, user_id, name, description, tags, location,
                                          preview_image_location, added_date, timestamp):
        event = YouTubeVideoAdded(video_id=UUID_to_grpc(video_id), user_id=UUID_to_grpc(user_id), name=name,
                                  description=description, tags=tags, location=location,
                                  preview_image_location=preview_image_location,
                                  added_date=datetime_to_Timestamp(added_date),
                                  timestamp=datetime_to_Timestamp(timestamp))

        self.producer.send(YOUTUBE_VIDEO_ADDED_TOPIC, event.SerializeToString())
Exemple #4
0
    def publish_user_rated_video_event(self, video_id, user_id, rating,
                                       timestamp):
        event = UserRatedVideo(
            video_id=UUID_to_grpc(video_id),
            user_id=UUID_to_grpc(user_id),
            rating=rating,
            rating_timestamp=datetime_to_Timestamp(timestamp))

        serialized_event = event.SerializeToString()
        #logging.debug('(' + str(type(serialized_event)) + ') ' + str(serialized_event))

        self.producer.send(topic=USER_RATED_VIDEO_TOPIC,
                           value=serialized_event)
 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
Exemple #6
0
 def VerifyCredentials(self, request, context):
     """Verify a user's username and password
     """
     logging.debug(">>> UserManagementService:VerifyCredentials: ")
     logging.debug(request)
     result = self.user_management_service.verify_credentials(
         request.email, request.password)
     if result:
         return VerifyCredentialsResponse(user_id=UUID_to_grpc(result))
     else:
         return VerifyCredentialsResponse()
def RelatedVideos_to_GetRelatedVideosResponse(related_videos):
    response = GetRelatedVideosResponse(
        video_id=UUID_to_grpc(related_videos.video_id),
        paging_state=related_videos.paging_state)
    if isinstance(related_videos.videos,
                  (list, )):  # most preferred way to check if it's list
        response.videos.extend(
            map(VideoPreview_to_SuggestedVideoPreview, related_videos.videos))
    elif related_videos.videos is not None:  # single result
        response.videos.extend(
            [VideoPreview_to_SuggestedVideoPreview(related_videos.videos)])
    return response
def SuggestedVideos_to_GetSuggestedForUserResponse(suggested_videos):
    response = GetSuggestedForUserResponse(
        user_id=UUID_to_grpc(suggested_videos.user_id),
        paging_state=suggested_videos.paging_state)
    if isinstance(suggested_videos.videos,
                  (list, )):  # most preferred way to check if it's list
        response.videos.extend(
            map(VideoPreview_to_SuggestedVideoPreview,
                suggested_videos.videos))
    elif suggested_videos.videos is not None:  # single result
        response.videos.extend(
            [VideoPreview_to_SuggestedVideoPreview(suggested_videos.videos)])
    return response
 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 VideoPlaybackStatsModel_to_PlayStats(stats):
    return PlayStats(video_id=UUID_to_grpc(stats.video_id), views=stats.views)
def CommentsByUserModel_to_GetUserComments(result):
    return UserComment(comment_id=TimeUUID_to_grpc(result.comment_id), 
                       video_id=UUID_to_grpc(result.video_id), 
                       comment=result.comment)
def CommentsByVideoModel_to_GetVideoComments(result):
    return VideoComment(comment_id=TimeUUID_to_grpc(result.comment_id), 
                        user_id=UUID_to_grpc(result.user_id), 
                        comment=result.comment)
Exemple #13
0
def UserModel_to_UserProfile(user):
    return UserProfile(user_id=UUID_to_grpc(user.user_id),
                       first_name=user.first_name,
                       last_name=user.last_name,
                       email=user.email)
Exemple #14
0
    def publish_user_created_event(self, user_id, first_name, last_name, email, timestamp):
        event = UserCreated(user_id=UUID_to_grpc(user_id), first_name=first_name, last_name=last_name, email=email,
                                  timestamp=datetime_to_Timestamp(timestamp))

        self.producer.send(USER_CREATED_TOPIC, event.SerializeToString())