Beispiel #1
0
def load(graph):
    with open('users_data.json') as f:
        data = json.load(f)

    graph.numUsers = 0
    graph.maxUsers = int(data["maxUsers"])
    graph.num_posts = int(data["num_posts"])
    for one in data["Users"]:
        graph.AddUser(
            person.Person(one["name"], one["email"], one["password"],
                          one["age"], one["location"], one["gender"]))
        graph.Users[-1].groups = [int(i) for i in one["groups"]]
        graph.Users[-1].posts = [int(i) for i in one["posts"]]
        graph.Users[-1].admin = [int(i) for i in one["admin"]]
        for x in one["requests_sent"]:
            graph.Users[-1].requests_sent[int(x)] = int(
                one["requests_sent"][x])

        for x in one["requests_received"]:
            graph.Users[-1].requests_received[int(x)] = int(
                one["requests_received"][x])

    graph.edges = []
    for row in range(0, len(data["edges"])):
        graph.edges.append([])
        for col in range(0, len(data["edges"][row])):
            graph.edges[row].append([
                int(data["edges"][row][col][0]),
                int(data["edges"][row][col][1])
            ])

    for i in data["Posts"]:
        graph.Posts.append(post.Post(i["text"], int(i["user_id"])))
        graph.Posts[-1].post_id = int(i["post_id"])
        graph.Posts[-1].time = i["time"]
        for j in i["Comments"]:
            graph.Posts[-1].Comments.append(
                post.Comment(j["text"], int(j["user_id"]), int(j["post_id"])))
            graph.Posts[-1].Comments[-1].time = j["time"]
            graph.Posts[-1].Comments[-1].comment_id = int(j["comment_id"])

    for g in data["Groups"]:
        graph.Groups.append(
            group.Group(0, g["group_name"], g["group_description"]))
        graph.Groups[-1].admin_id = [int(i) for i in g["admin_id"]]
        graph.Groups[-1].group_id = int(g["group_id"])
        graph.Groups[-1].group_members = [int(i) for i in g["group_members"]]
        graph.Groups[-1].group_posts = [int(i) for i in g["group_posts"]]
        graph.Groups[-1].group_count = int(g["group_count"])