示例#1
0
文件: datagen.py 项目: mpaulweeks/fgc
def ensure_test_data():
    global _test_data_created
    if _test_data_created:
        return
    _test_data_created = True
    ensure_test_tables()
    log('creating test data')
    already_exists = (Player.select().where(
        Player.cfn_id == sample_player_id).exists())
    if already_exists:
        log('existing test data found')
        return
    create_test_player(
        cfn_id=sample_player_id,
        name='TestPlayer',
        subscribed=True,
    )
    Rank.create(
        id=1,
        created_at=datetime.utcnow(),
        player_cfn=sample_player_id,
        league_points=100,
        placement=1,
        favorite_character=1,
    )
示例#2
0
def load_subscribed_player_ids(
    subset_ids=None,
    batch_size=None,
):
    query = (Player.select().where(Player.subscribed == 1))
    if subset_ids:
        query = (query.where(Player.cfn_id << list(subset_ids)))
    if batch_size:
        query = (query.order_by(Player.updated_at).limit(batch_size))
    return set([p.cfn_id for p in query])
示例#3
0
def subscribe_to_new_player(player_model):
    existing = (Player.select().where(Player.cfn_id == player_model.cfn_id))
    if existing:
        (Player.update(
            subscribed=1,
            name=player_model.name,
            region=player_model.region,
            platform=player_model.platform,
        ).where(Player.cfn_id == player_model.cfn_id).execute())
    else:
        bulk_insert(Player, [{
            'cfn_id': player_model.cfn_id,
            'name': player_model.name,
            'region': player_model.region,
            'platform': player_model.platform,
            'subscribed': 1,
        }])
示例#4
0
def get_subscribed_player_count():
    return (Player.select().where(Player.subscribed == 1).count())
示例#5
0
def get_latest_player_updated_at():
    return (Player.select().order_by(
        Player.updated_at.desc()).get()).updated_at
示例#6
0
def load_player_ticks():
    return list(
        Player.select(Player.cfn_id,
                      Player.match_latest_ticks).where(Player.subscribed == 1))
示例#7
0
def load_subscribed_player_names():
    daos = (Player.select(Player.name).where(Player.subscribed == 1))
    return set([p.name for p in daos])