コード例 #1
0
ファイル: manager.py プロジェクト: 7flying/yil-pil
def get_posts_with_tag(tag_name):
    """
    Returns all the posts with the provided tag name.
    Pagination is used.
    """
    posts = []
    if tag_name != None and len(tag_name) > 0:
        for post_id in db.smembers(tag_name + APPEND_TAG_NAME_POSTS):
            posts.append(get_post(post_id))
    return posts
コード例 #2
0
ファイル: manager.py プロジェクト: 7flying/takonosu
def get_sensors(node_id):
	""" Returns the list of sensors of a node."""
	sensors = []
	for sensor_id in db.smembers(KEY_LIST_SENSORS_IN_NODE + str(node_id)):
		sensor = get_sensor(sensor_id)
		if sensor[S_ID] == 0:
			sensor = None
		if sensor != None:
			sensors.append(sensor)
	return sensors
コード例 #3
0
ファイル: manager.py プロジェクト: 7flying/takonosu
def delete_node(id):
	"""
	Deletes a node from the db as well as all the sensors related to the node.
	"""
	debug(CODE, "DELETE NODE: (id): " + str(id))
	id = str(id)
	sensors = set(db.smembers(KEY_LIST_SENSORS_IN_NODE + id))
	for id_sensor in sensors:
		delete_sensor_from_node(id, id_sensor)
	db.delete(KEY_LIST_SENSORS_IN_NODE + id)
	db.delete(KEY_NODES + id)
コード例 #4
0
ファイル: manager.py プロジェクト: 7flying/yil-pil
def get_post_tags(post_id): # OK
    """
    Returns the tags of a post given its integer-id.
    An empty array is returned if there aren't tags for the given post.
    """
    tags = db.smembers(str(post_id) + APPEND_KEY_TAG)
    ensure_array = []
    for tag in tags:
        ensure_array.append(tag)
    debug("\t TAGS FROM POST #: " + str(post_id) + '\n' + str(ensure_array))
    return ensure_array
コード例 #5
0
ファイル: manager.py プロジェクト: 7flying/yil-pil
def get_user_tags(username):
    """ Gets the tags of a user. """
    debug("GET TAGS of: " + username)
    if _is_user_created(username):
        array = []
        vals = db.smembers(username + APPEND_KEY_TAG)
        debug("\t returning:" + str(vals))
        for val in vals:
            array.append(val)
        return array
    else:
        return None
コード例 #6
0
ファイル: manager.py プロジェクト: 7flying/yil-pil
def get_favourites(username):
    """ Returns a list of posts favourited by the given user. """
    if _is_user_created(username):
        ret = []
        to_delete = []
        for post_id in db.smembers(username + APPEND_KEY_FAVS):
            post = get_post(post_id)
            if post == None:
                # Delete from the favourite set
                to_delete.append(post_id)
            else:
                ret.append(post)
        if len(to_delete) > 0:
            for item in to_delete:
                db.srem(username + APPEND_KEY_FAVS, item)
        return ret
    else:
        return None
コード例 #7
0
ファイル: manager.py プロジェクト: 7flying/yil-pil
def _vote(post_id, voting_user, positive): #OK
    """ Private method for handling postivite and negative votes. """
    post_id = str(post_id)
    debug("VOTE POSITIVE. user:"******", post:" + post_id)
    if _is_post_created(post_id) and _is_user_created(voting_user):
        debug("\t CURRENT VOTES of USER.")
        debug("\t\t-user: "******"\t\t-voted to: " + str(db.smembers(voting_user + APPEND_KEY_HAS_VOTED)))
        # Check if the user can vote
        if db.sismember(voting_user + APPEND_KEY_HAS_VOTED, post_id) == 0:
            vote_id = db.hget(post_id + APPEND_KEY_POSTS, KEY_VOTES)
            debug("\t vote_id: " + str(vote_id))
            pipe = db.pipeline()
            if positive:
                pipe.incr(vote_id + APPEND_KEY_VOTE)
            else:
                pipe.decr(vote_id + APPEND_KEY_VOTE)
            pipe.sadd(voting_user + APPEND_KEY_HAS_VOTED, post_id)
            pipe.execute()
            return True
        else:
            return False
    else:
        return None
コード例 #8
0
ファイル: updatemanager.py プロジェクト: pvh/thegrid
 def sendNogrids(obj, func, **kwargs):
     for uid in db.smembers("nogrid"):
         if uid not in obj.clients:
             db.srem("nogrid", uid)
         else:
             obj.clients[uid].call(func, **kwargs)
コード例 #9
0
ファイル: manager.py プロジェクト: 7flying/yil-pil
def get_index_letter_tag():
    """ Returns the contents of the index of letter-tags. """
    return list(db.smembers(GLOBAL_INDEX_LETTER_TAG))