Ejemplo n.º 1
0
def add_post(username, post, **kwargs):
    post_updates = Posts_update.objects(username=username).first()
    if post_updates is None:
        post_updates_twopset = TwoPSet()
        post_updates = Posts_update()
        post_updates.username = username
        post_updates.update_value = json_util.dumps(
            post_updates_twopset.toDict())
        # print(type(post_updates.update_value),post_updates.update_value)
        # post_updates_twopset = TwoPSet().loadFromDict(post_updates.update_value)
        post_updates.save()

    # post_updates_twopset_dict = json_util.loads(post_updates.update_value)
    # print(post_updates_twopset_dict)
    # post_updates_twopset = TwoPSet()

    # Loading data in TwoPSet
    post_updates_twopset = TwoPSet().loadFromDict(
        json_util.loads(post_updates.update_value))

    # print(type(post_updates_twopset),post_updates_twopset)
    # post_updates_twopset_dict

    post_updates_twopset.add(post.to_json())
    post_updates_twopset_dict = post_updates_twopset.toDict()

    post_updates.update_value = json_util.dumps(post_updates_twopset_dict)
    post_updates.save()
Ejemplo n.º 2
0
def add_liked_post(username, post_id, **kwargs):
    """
    post_id : id of the post being liked
    """

    liked_post_updates = LikedPosts_update.objects(username=username).first()
    # print(type(liked_post_updates))
    if liked_post_updates is None:
        liked_post_updates_twopset = TwoPSet()
        liked_post_updates = LikedPosts_update()
        liked_post_updates.username = username
        liked_post_updates.update_value = json_util.dumps(
            liked_post_updates_twopset.toDict())

    # Loading data in TwoPSet
    liked_post_updates_twopset = TwoPSet().loadFromDict(
        json_util.loads(liked_post_updates.update_value))

    # print('liked_post_json : ',liked_post_json)
    # print('type(liked_post) : ', type(liked_post))
    liked_post_updates_twopset.add(post_id)
    liked_post_updates_twopset_dict = liked_post_updates_twopset.toDict()
    liked_post_updates.update_value = json_util.dumps(
        liked_post_updates_twopset_dict)
    liked_post_updates.save()
Ejemplo n.º 3
0
def get_post_updates_msg(username, post, update_type='add'):
    """
    update_type : add/remove

    """

    posts_update = Posts_update()
    posts_update.username = username
    posts_update_twoPset = TwoPSet()

    if update_type == 'add':
        posts_update_twoPset.add(post.to_json())
    else:
        posts_update_twoPset.remove(post.to_json())

    posts_update.update_value = json_util.dumps(posts_update_twoPset.toDict())

    msg = {
        "type": 'posts_update',
        "data": {
            'username': username,
            'posts': posts_update.update_value
        }
    }
    return json_util.dumps(msg)
Ejemplo n.º 4
0
def get_followers_update_msg(username, follower, update_type='follow'):
    """
    username : this user who is being followed
    follower: username of the person who is clicking the follow button to follow the user with username in first argument
    update_type: follow/unfollow
    """

    followers_update = Followers_update()
    followers_update.username = follower
    username_twoPSet = TwoPSet()

    if update_type == 'follow':
        username_twoPSet.add(username)
    else:
        username_twoPSet.remove(username)

    followers_update.update_value = json_util.dumps(username_twoPSet.toDict())

    msg = {
        'type': 'Followers_update',
        'data': {
            'username': followers_update.username,
            'update_value': followers_update.update_value
        }
    }

    return json.dumps(msg)
Ejemplo n.º 5
0
def get_likedposts_updates_msg(post_id, username, update_type='liked'):
    """
    
    update_type: liked/disliked
    """

    liked_posts_update = LikedPosts_update()
    liked_posts_update.username = username
    liked_posts_twoPSet = TwoPSet()

    if update_type == 'liked':
        liked_posts_twoPSet.add(post_id)
    else:
        liked_posts_twoPSet.remove(post_id)

    liked_posts_update.update_value = json_util.dumps(
        liked_posts_twoPSet.toDict())

    msg = {
        'type': 'Likedposts_update',
        'data': {
            'username': liked_posts_update.username,
            'update_value': liked_posts_update.update_value
        }
    }
    return json.dumps(msg)
Ejemplo n.º 6
0
def remove_post(username, post, **kwargs):
    post_updates = Posts_update.objects(username=username).first()
    if post_updates is None:
        post_updates_twopset = TwoPSet()
        post_updates = Posts_update()
        post_updates.username = username
        post_updates.update_value = json_util.dumps(
            post_updates_twopset.toDict())
        # post_updates.save()

    # Loading data in TwoPSet
    post_updates_twopset = TwoPSet().loadFromDict(
        json_util.loads(post_updates.update_value))

    post_updates_twopset.remove(post)
    post_updates.update_value = json_util.dumps(post_updates_twopset.toDict())
    post_updates.save()
Ejemplo n.º 7
0
def update_post_content(username, post_content, **kwargs):  # Change to LWW
    #
    # Change to LWW
    #
    post_content_updates = Post_content_update.objects().first()
    if post_content_updates is None:
        post_content_updates_twopset = TwoPSet()
        post_content_updates = Post_content_update()
        # post_content_updates.username = username
        post_content_updates.update_value = json_util.dumps(
            post_content_updates_twopset.toDict())
        # post_content_updates.save()

    # Loading data in TwoPSet
    post_content_updates_twopset = TwoPSet().loadFromDict(
        json_util.loads(post_content_updates.update_value))

    post_content_updates_twopset.add(post_content)
    post_content_updates.update_value = json_util.dumps(
        post_content_updates_twopset.toDict())
    post_content_updates.save()
Ejemplo n.º 8
0
def merge_followers_update(username, update_value):
    followers_update = Followers_update.objects(username=username).first()

    if(followers_update==None):
        followers_update = Followers_update()
        followers_update.username = username
        followers_update.update_value = update_value
        followers_update.save()

    followers_update_twoPSet =  TwoPSet().loadFromDict(json_util.loads(followers_update.update_value))
    incoming_update_twoPSet = TwoPSet().loadFromDict(json_util.loads(update_value))
    followers_update_twoPSet.merge(incoming_update_twoPSet)
    followers_update.update_value = json_util.dumps(followers_update_twoPSet.toDict())
    followers_update.save()
Ejemplo n.º 9
0
def update_user_followers(username, follower_name, **kwargs):
    """
    username : this user who is being followed
    follower_name : username of the person who is clicking the follow button to follow the user with username in first argument
    """

    user_followers_updates = Followers_update.objects(
        username=username).first()
    if user_followers_updates is None:
        user_followers_updates_twopset = TwoPSet()
        user_followers_updates = Followers_update()
        user_followers_updates.username = username
        user_followers_updates.update_value = json_util.dumps(
            user_followers_updates_twopset.toDict())
        # user_followers_updates.save()

    # Loading data in TwoPSet
    user_followers_updates_twopset = TwoPSet().loadFromDict(
        json_util.loads(user_followers_updates.update_value))

    user_followers_updates_twopset.add(follower_name)
    user_followers_updates.update_value = json_util.dumps(
        user_followers_updates_twopset.toDict())
    user_followers_updates.save()
Ejemplo n.º 10
0
def remove_user_follower(username, follower_name, **kwargs):
    """
    username : this user is clicking the unfollow button to follow the user with username in second argument
    follower_name : username of the person to be unfollowed   
    """

    user_followers_updates = Followers_update.objects(
        username=username).first()
    if user_followers_updates is None:
        user_followers_updates_twopset = TwoPSet()
        user_followers_updates = Followers_update()
        user_followers_updates.username = username
        user_followers_updates.update_value = json_util.dumps(
            user_followers_updates_twopset.__dict__)
        # user_followers_updates.save()

    # Loading data in TwoPSet
    user_followers_updates_twopset = TwoPSet().loadFromDict(
        json_util.loads(user_followers_updates.update_value))

    user_followers_updates_twopset.remove(follower_name)
    user_followers_updates.update_value = json_util.dumps(
        user_followers_updates_twopset.toDict())
    user_followers_updates.save()
Ejemplo n.º 11
0
    posts = readPosts(dbName=dbName)
    # print_posts(posts)

    posts_updates = middlewareDatabaseRead.get_posts_updates(
        dbName=dbName_middleware)

    all_posts_added = []
    all_posts_removed = []

    # print('Num Objects in post_update : ', len(posts_updates))

    for post_update_object in posts_updates:

        update_string = post_update_object.update_value

        updates_TwoPSet = TwoPSet().loadFromDict(
            json_util.loads(update_string))

        added_posts_jsons = updates_TwoPSet.addedValues()
        for added_post_json in added_posts_jsons:
            added_post = Post.from_json(added_post_json)
            all_posts_added.append(added_post)

        removed_posts_jsons = updates_TwoPSet.removedValues()
        for removed_post_json in removed_posts_jsons:
            removed_post = Post.from_json(removed_post_json)
            all_posts_removed.append(removed_post)

    # print('-----------------------------Added Posts-------------------------------')
    # print("Num of all_posts_added : ", len(all_posts_added))
    # print_posts(all_posts_added)