示例#1
0
def tweets(uid,min_date=None,max_date=None,limit=100):
    "returns all the tweets for a user between min_date and max_date"
    start = parse_date(min_date)
    end = parse_date(max_date)
    limit = int(limit) if limit else None
    tweets = Tweet.find(
        (Tweet.user_id==int(uid)) &
        (Tweet.created_at.range(start,end)),
        limit=limit,
        sort=Tweet._id)
    return [t.to_d() for t in tweets]
示例#2
0
def make_graph(time, users, tri_edges):
    tweets = Tweet.find(Tweet.created_at.range(time, time+TIME_DELAY))
    edges = ((tweet.user_id,at)
        for tweet in tweets
        for at in tweet.mentions
        if tweet.user_id!=at and at in users)

    graph = defaultdict(int)
    for e in edges:
        if tuple(sorted(e)) in tri_edges:
            graph[e]+=1

    return GraphSnapshot(
        _id = time,
        from_ids = (k[0] for k in graph.iterkeys()),
        to_ids = (k[1] for k in graph.iterkeys()),
        weights = graph.itervalues(),
        )