コード例 #1
0
ファイル: groups.py プロジェクト: pitersonfascist/wargaming
def get_group(group_id):
    tmp = hashlib.md5(str(mktime(datetime.now().timetuple()))).hexdigest() + "group_" + str(group_id)
    zscore = rs.zscore("group_ids", group_id)
    if zscore is not None:
        rs.zadd(tmp, group_id, zscore)
        res = get_groups_arr_by_set(tmp, 0, 1)
        rs.delete(tmp)
        return {} if len(res) == 0 else res[0]
    else:
        rs.delete(tmp)
        return {}
コード例 #2
0
ファイル: battle.py プロジェクト: pitersonfascist/wargaming
def get_battle(battle_id):
    tmp = hashlib.md5(str(mktime(
        datetime.now().timetuple()))).hexdigest() + "battle_" + str(battle_id)
    zscore = rs.zscore("battles_ids", battle_id)
    if zscore is not None:
        rs.zadd(tmp, battle_id, 10 * zscore)
        res = get_battles_arr_by_set(tmp, None, 0, 1)
        rs.delete(tmp)
        return {} if len(res) == 0 else res[0]
    else:
        rs.delete(tmp)
        return {}
コード例 #3
0
def battleAcceptUser(battle_id, user_id, admin=False):
    if rs.exists("battle:" + str(battle_id)) != 1:
        return -1
    uid = loggedUserUid()
    if rs.hget("battle:%s" % battle_id, "uid") != str(uid) and not admin:
        return -2
    rs.zadd('battle:%s:users' % battle_id, user_id, 1)
    rs.sadd('battle:%s:accepted' % battle_id, user_id)
    rs.zadd('user:%s:battles' % user_id, battle_id,
            rs.zscore("battles_ids", battle_id))
    if uid != user_id:
        create_battle_notification(loggedUserUid(), user_id, battle_id,
                                   NTFY_BATTLE_ACCEPT)
    return rs.scard('battle:%s:accepted' % battle_id)
コード例 #4
0
def battleFollowUser(battle_id):
    if rs.exists("battle:" + str(battle_id)) != 1:
        return -1
    uid = loggedUserUid()
    if uid == 0:
        return -2
    if rs.sismember('battle:%s:invited' % battle_id, uid):
        create_battle_notification(uid, 0, battle_id, NTFY_INVITE_ACCEPT)
        rs.srem('battle:%s:invited' % battle_id, uid)
        rs.zadd('battle:%s:users' % battle_id, uid, 1)
        rs.sadd('battle:%s:accepted' % battle_id, uid)
        rs.zadd('user:%s:battles' % uid, battle_id,
                rs.zscore("battles_ids", battle_id))
        return 1
    else:
        create_battle_notification(uid, 0, battle_id, NTFY_BATTLE_FOLLOW)
        return followBattleByUser(battle_id, uid)
コード例 #5
0
ファイル: groups.py プロジェクト: pitersonfascist/wargaming
def create_group_battle(group_id):
    uid = loggedUserUid()
    if uid == 0:
        return -2
    if rs.sismember("group:%s:users" % group_id, uid) == 0:
        return -1
    try:
        data = json.loads(request.stream.read())
    except:
        return -3
    data["privacy"] = "PRIVATE"
    from warg.views.battle import do_create_battle
    battle_id = do_create_battle(uid, data)
    if int(battle_id) > 0:
        zscore = rs.zscore("battles_ids", battle_id)
        rs.zadd("group:%s:battles" % group_id, battle_id, zscore)
    return battle_id
コード例 #6
0
def followBattleByUser(battle_id, by_user_id):
    rs.zadd('battle:%s:users' % battle_id, by_user_id, 0)
    rs.zadd('user:%s:battles' % by_user_id, battle_id,
            rs.zscore("battles_ids", battle_id))
    return rs.zcard('battle:%s:users' % battle_id)