diff --git a/ir_webstats/client.py b/ir_webstats/client.py index 09d8500..1539e97 100644 --- a/ir_webstats/client.py +++ b/ir_webstats/client.py @@ -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: @@ -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, @@ -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] diff --git a/ir_webstats/constants.py b/ir_webstats/constants.py index e842aee..af9a114 100644 --- a/ir_webstats/constants.py +++ b/ir_webstats/constants.py @@ -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 diff --git a/ir_webstats/util.py b/ir_webstats/util.py index 83e5aff..135e3ac 100644 --- a/ir_webstats/util.py +++ b/ir_webstats/util.py @@ -1,7 +1,7 @@ import inspect import json -from ir_webstats import decorator +from . import decorator try: from urllib.parse import unquote # python3