Ejemplo n.º 1
0
def pop_lg():
    #    lgdict = {}
    lg = []
    for i in gts.leagues():
        #lgdict = dict.fromkeys('id',)
        # lg = list of lists
        lg.append([i['id'], i['year'], i['league'], i['caption']])
        #print i['id'],'    ', i['year'],'    ', i['league'],'    ', i['caption']
    #print lg
    #print lgdict

    con = pg.connect(gts.cnxn())
    insrt = 'insert into league (name, api_id) values'

    for i in lg:
        lg_nm = (i[3].replace('2017/18', '')).replace(
            '2017', '').strip().encode('utf-8').decode('ascii', 'ignore')
        apid = i[0]
        insrt = insrt + "('" + lg_nm + "'," + str(apid) + "),"
        #print i  ## returns each list
    #    if unicode(i[3]) == 'Premier League 2017/18':
    #       lg_id = i[0]
    insrt = insrt[:-1] + ';'
    #print insrt
    cur = con.cursor()

    cur.execute(insrt)
    con.commit()
    con.close()
Ejemplo n.º 2
0
def pop_fix():  #insert at beginning of season
    con = pg.connect(gts.cnxn())
    cur = con.cursor()
    sel_lg = "select api_id from league"
    cur.execute(sel_lg)
    apids = cur.fetchall()
    fix_list = []
    for league in apids:
        #print int(league[0])
        fix = gts.fixtures(int(league[0]))
        if 'error' not in fix:
            fix_list.append(fix['fixtures'])
    #print fix_list[1]
    insrt_fx = 'insert into fixtures (api_id, league_id, home_team_id, away_team_id, scheduled_date) values '
    for fixture in fix_list:
        for fix in fixture:
            #convert time to timestamp format for PG
            sch_date = (fix['date'].replace('T', ' '))[:-4]
            insrt_fx = insrt_fx + "(" + str(
                fix['id']) + ", (select id from league where api_id = " + str(
                    fix['competitionId']
                ) + "), (select id from teams where name = '" + fix[
                    'homeTeamName'].encode('utf-8').decode(
                        'ascii', 'ignore'
                    ) + "'), (select id from teams where name = '" + fix[
                        'awayTeamName'].encode('utf-8').decode(
                            'ascii', 'ignore') + "'), '" + sch_date + "'),"
    insrt_fx = insrt_fx[:-1] + ';'
    #    print insrt_fx
    cur.execute(insrt_fx)
    con.commit()
    con.close()
Ejemplo n.º 3
0
def pop_season_team_leag():
    con = pg.connect(gts.cnxn())
    cur = con.cursor()
    sel_lg = "select api_id from league"
    cur.execute(sel_lg)
    apids = cur.fetchall()
    insrt = "insert into league_team (league_id, team_id, season_id) values "
    for league in apids:
        #print league[0]
        lg_api_id = league[0]
        #print lg_api_id
        teams = gts.teams(lg_api_id)
        #        print '-----'+str(lg_api_id)+'---------'
        #        print teams
        if 'teams' in teams:
            for team in teams['teams']:
                #print team['name']
                nm = "'" + team['name'].encode('utf-8').decode(
                    'ascii', 'ignore') + "'"
                #print nm
                insrt = insrt + "((select id from league where api_id = " + str(
                    lg_api_id
                ) + "),(select id from teams where name = " + nm + "), (select id from season where season = '2017')),"
    insrt = insrt[:-1] + ';'
    #print insrt
    cur.execute(insrt)
    con.commit()
    con.close()
Ejemplo n.º 4
0
def pop_season():
    con = pg.connect(gts.cnxn())
    cur = con.cursor()
    for league in gts.leagues():
        sel_seas = "select season from season;"
        cur.execute(sel_seas)
        seasons = cur.fetchall()
        #print len(seasons), str(league['year'])
        if len(seasons) == 0 or league['year'] not in seasons[0][0]:
            insrt = 'insert into season (season) values (' + league[
                'year'] + ');'
            cur = con.cursor()
            cur.execute(insrt)
            con.commit()
    con.close()
Ejemplo n.º 5
0
def pop_res(): #insert at beginning of season
    con = pg.connect(gts.cnxn())
    cur = con.cursor()
    sel_ids = "select l.api_id as lg_id, f.api_id as fx_id from league as l inner join fixtures as f on f.league_id = l.id where date_played is null"
    cur.execute(sel_ids)
    apids = cur.fetchall()
    league_fixture = {}
    lg = ''
    #fix == ''
    for apid in apids:
        if apid[0] != lg:
            lg = apid[0]
            fix_list = []
            fix_list.append(apid[1])
            league_fixture[apid[0]] = fix_list
        else:
            fix_list.append(apid[1])
            league_fixture[apid[0]] = fix_list
#    print league_fixture
    for league in league_fixture:
        results = gts.fixtures(league)
        for match in league_fixture[league]:
Ejemplo n.º 6
0
def pop_team():
    #b/c teams are in multiple leagues, teams is not giving a unique list - FIX
    con = pg.connect(gts.cnxn())
    cur = con.cursor()
    sel_lg = "select api_id, id from league;"
    cur.execute(sel_lg)
    teamname = []
    apiid = cur.fetchall()
    for i in apiid:
        insrt = 'insert into teams (name, short_name) values'
        teams = gts.teams(i[0])
        #! one element does not have team - only do if there is the key "team"
        if 'teams' in teams:
            #print teams
            for team in teams['teams']:
                if team['name'] not in teamname:
                    #                print team['id']
                    #                print team['name'].encode('utf-8').decode('ascii','ignore')
                    nm = "'" + team['name'].encode('utf-8').decode(
                        'ascii', 'ignore') + "'"
                    if team['shortName'] is None or team['shortName'] == "":
                        sn = 'null'
                    else:
                        #! Kaiserslautern has short name of "K'lautern"
                        sn = "'" + st.replace(
                            team['shortName'].encode('utf-8').decode(
                                'ascii', 'ignore'), "K'l", "Kl") + "'"
                    insrt = insrt + "(" + nm + ", " + sn + "), "
                teamname.append(team['name'])
                #print team['name']
                #print teamname
            insrt = insrt[:-2] + ';'
            #print insrt
            cur = con.cursor()
            cur.execute(insrt)
            con.commit()
    con.close()