Пример #1
0
        # Do the conversion
        if f in identical_fields:
            new_team[f] = val
            continue

        if f in name_changes:
            new_f = name_changes[f]
            new_team[new_f] = val
            continue

        if f == 'name':
            new_team['name'] = unicode(val)

        if f == 'league_id':
            league_doc_id = getMongoId(leagues_coll, val, league_cache)

            if league_doc_id != None:
                new_team['league_id'] = league_doc_id

        if f == 'captain' or f == 'cocaptain':
            insert_pos = {'captain':0, 'cocaptain':1}

            captain_id = getMongoId(users_coll, val, user_cache, 'mysql_ids')
            
            if captain_id != None:
                new_team['captains'].insert(insert_pos[f], captain_id)

        if f in ['rank', 'wins', 'losses', 'ptdiff']:
            if f == 'ptdiff':
                f = 'point_differential'
Пример #2
0
        if val == None or val == '':
            del mysql_record[f]
            continue

        # Do the conversion
        if f in identical_fields:
            new_league[f] = val
            continue

        if f in name_changes:
            new_f = name_changes[f]
            new_league[new_f] = val
            continue

        if f == 'commish':
            commish_doc_id = getMongoId(user_coll, int(val), user_cache, 'mysql_ids')

            if commish_doc_id != None:
                new_league['commissioner_ids'] = [commish_doc_id]

        if f == 'max_men':
            new_league['player_limit'] = {'male': int(val)}

        if f == 'juniors':
            division_list = ['adult', 'juniors']
            new_league['age_division'] = division_list[val]


    print "Saving " + mysql_record['name']
    new_id = league_coll.save(new_league)
    mysql_record = old_cur.fetchone()
Пример #3
0
# Cache document IDs based on mysql id to speed up the import, no need to query for these multiple times
user_cache   = {}
league_cache = {}
user_metadata_cache = {}
user_metadata_fields = ['firstname', 'middlename', 'lastname', 'height', 'weight', 'birthdate', 'gender']

while mysql_record != None:
    new_reg  = {'mysql_id': int(mysql_record['id'])}
    user_doc = None

    # Link to a user document
    if 'c_id' in mysql_record:
        val = int(mysql_record['c_id'])

        user_doc_id = getMongoId(users_coll, val, user_cache, 'mysql_ids')

        if user_doc_id != None:
            new_reg['user_id'] = user_doc_id

        if str(user_doc_id) in user_metadata_cache:
            user_meta = user_metadata_cache[str(user_doc_id)]
        else:
            user_meta = users_coll.find_one({'_id' : user_doc_id}, user_metadata_fields)
            if user_meta:
                del user_meta['_id']
                user_metadata_cache[str(user_doc_id)] = user_meta
                    
        if user_meta:
            new_reg['user_data'] = user_meta
Пример #4
0
        if f in identical_fields:
            new_game[f] = val
            continue

        if f in name_changes:
            new_f = name_changes[f]
            new_game[new_f] = val
            continue

        if f == 'time':
            tz_shift = datetime.timedelta(hours=4) # Times are stored in mysql incorrectly
            new_val = val + tz_shift
            new_game['game_time'] = new_val

        if f == 'league_id':
            league_doc_id = getMongoId(leagues_coll, val, league_cache)

            if league_doc_id != None:
                new_game['league_id'] = league_doc_id

        if f == 'field_id':
            field_doc_id = getMongoId(fields_coll, val, field_cache)

            if field_doc_id != None:
                new_game['fieldsite_id'] = field_doc_id

        if f == 'field_num':
            new_game['field'] = str(val)

    # Pull in score data
    if new_game['mysql_id'] != None: