Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions ir_webstats/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@

from io import StringIO
import requests
from ir_webstats import constants as ct
from . import constants as ct
import datetime
import csv
import time
from ir_webstats.util import *
from . util import *


class iRWebStats:
Expand Down Expand Up @@ -392,6 +392,14 @@ def all_seasons(self):
pprint("Getting iRacing Seasons with Stats")
resp = self.__req(ct.URL_SEASON_STANDINGS2)
return self._load_irservice_var("SeasonListing", resp)

def last_series(self, userid):
""" Returns stats for the last 3 series the driver has raced in """

r = self.__req(ct.URL_LAST_SERIES % userid)
res = parse(r)

return res

@logged_in
def season_standings(self, season, carclass, club=ct.ALL, raceweek=ct.ALL,
Expand Down Expand Up @@ -478,8 +486,7 @@ def event_results(self, subsession, sessnum=0):
""" Gets the event results (table of positions, times, etc.). The
event is identified by a subsession id. """

r = self.__req(ct.URL_GET_EVENTRESULTS % (subsession, sessnum))\
.encode('utf8')
r = self.__req(ct.URL_GET_EVENTRESULTS % (subsession, sessnum))
data = [x for x in csv.reader(StringIO(r), delimiter=',',
quotechar='"')]
header_ev, header_res = data[0], data[3]
Expand Down
37 changes: 19 additions & 18 deletions ir_webstats/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,25 +40,26 @@
#URLS
URL_IRACING_LOGIN = 'https://members.iracing.com/membersite/login.jsp'
URL_IRACING_LOGIN2 = 'https://members.iracing.com/membersite/Login'
URL_IRACING_HOME = 'http://members.iracing.com/membersite/member/Home.do'
URL_STATS_CHART = 'http://members.iracing.com/memberstats/member/GetChartData?custId=%s&catId=%s&chartType=1'
URL_DRIVER_COUNTS = 'http://members.iracing.com/membersite/member/GetDriverCounts'
URL_CAREER_STATS = 'http://members.iracing.com/memberstats/member/GetCareerStats?custid=%s'
URL_YEARLY_STATS = 'http://members.iracing.com/memberstats/member/GetYearlyStats?custid=%s'
URL_CARS_DRIVEN = 'http://members.iracing.com/memberstats/member/GetCarsDriven?custid=%s'
URL_PERSONAL_BEST = 'http://members.iracing.com/memberstats/member/GetPersonalBests?carid=%s&custid=%s'
URL_DRIVER_STATUS = 'http://members.iracing.com/membersite/member/GetDriverStatus?%s'
URL_DRIVER_STATS = 'http://members.iracing.com/memberstats/member/GetDriverStats'
URL_LASTRACE_STATS = 'http://members.iracing.com/memberstats/member/GetLastRacesStats?custid=%s'
URL_RESULTS_ARCHIVE = 'http://members.iracing.com/memberstats/member/GetResults'
URL_SEASON_STANDINGS = 'http://members.iracing.com/memberstats/member/GetSeasonStandings'
URL_SEASON_STANDINGS2 = 'http://members.iracing.com/membersite/member/statsseries.jsp'
URL_HOSTED_RESULTS = 'http://members.iracing.com/memberstats/member/GetPrivateSessionResults'
URL_SELECT_SERIES = 'http://members.iracing.com/membersite/member/SelectSeries.do?&season=%s&view=undefined&nocache=%s'
URL_SESSION_TIMES = 'http://members.iracing.com/membersite/member/GetSessionTimes'#T-m-d
URL_SERIES_RACERESULTS = 'http://members.iracing.com/memberstats/member/GetSeriesRaceResults'
URL_IRACING_HOME = 'https://members.iracing.com/membersite/member/Home.do'
URL_STATS_CHART = 'https://members.iracing.com/memberstats/member/GetChartData?custId=%s&catId=%s&chartType=1'
URL_DRIVER_COUNTS = 'https://members.iracing.com/membersite/member/GetDriverCounts'
URL_CAREER_STATS = 'https://members.iracing.com/memberstats/member/GetCareerStats?custid=%s'
URL_YEARLY_STATS = 'https://members.iracing.com/memberstats/member/GetYearlyStats?custid=%s'
URL_CARS_DRIVEN = 'https://members.iracing.com/memberstats/member/GetCarsDriven?custid=%s'
URL_PERSONAL_BEST = 'https://members.iracing.com/memberstats/member/GetPersonalBests?carid=%s&custid=%s'
URL_DRIVER_STATUS = 'https://members.iracing.com/membersite/member/GetDriverStatus?%s'
URL_DRIVER_STATS = 'https://members.iracing.com/memberstats/member/GetDriverStats'
URL_LASTRACE_STATS = 'https://members.iracing.com/memberstats/member/GetLastRacesStats?custid=%s'
URL_RESULTS_ARCHIVE = 'https://members.iracing.com/memberstats/member/GetResults'
URL_SEASON_STANDINGS = 'https://members.iracing.com/memberstats/member/GetSeasonStandings'
URL_SEASON_STANDINGS2 = 'https://members.iracing.com/membersite/member/statsseries.jsp'
URL_HOSTED_RESULTS = 'https://members.iracing.com/memberstats/member/GetPrivateSessionResults'
URL_SELECT_SERIES = 'https://members.iracing.com/membersite/member/SelectSeries.do?&season=%s&view=undefined&nocache=%s'
URL_SESSION_TIMES = 'https://members.iracing.com/membersite/member/GetSessionTimes' # T-m-d
URL_SERIES_RACERESULTS = 'https://members.iracing.com/memberstats/member/GetSeriesRaceResults'
URL_LAST_SERIES = 'https://members.iracing.com/memberstats/member/GetLastSeries?custid=%s'

URL_GET_EVENTRESULTS = 'http://members.iracing.com/membersite/member/GetEventResultsAsCSV?subsessionid=%s&simsesnum=%s&includeSummary=1' #simsesnum 0 race, -1 qualy or practice, -2 practice
URL_GET_EVENTRESULTS = 'https://members.iracing.com/membersite/member/GetEventResultsAsCSV?subsessionid=%s&simsesnum=%s&includeSummary=1' #simsesnum 0 race, -1 qualy or practice, -2 practice



Expand Down
2 changes: 1 addition & 1 deletion ir_webstats/util.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import inspect
import json

from ir_webstats import decorator
from . import decorator

try:
from urllib.parse import unquote # python3
Expand Down