From 38cd67775387595c4b95da482077f76a2ea6c2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Rodr=C3=ADguez?= Date: Mon, 30 Sep 2019 23:00:15 +0200 Subject: [PATCH 1/5] Change http to https in constants.py --- ir_webstats/constants.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/ir_webstats/constants.py b/ir_webstats/constants.py index e842aee..a08edca 100644 --- a/ir_webstats/constants.py +++ b/ir_webstats/constants.py @@ -40,23 +40,23 @@ #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_GET_EVENTRESULTS = 'http://members.iracing.com/membersite/member/GetEventResultsAsCSV?subsessionid=%s&simsesnum=%s&includeSummary=1' #simsesnum 0 race, -1 qualy or practice, -2 practice From 36162a81d82b92e15fe6ee395357b6b802e9b7f5 Mon Sep 17 00:00:00 2001 From: Daniel Nowak <13685818+lowlyocean@users.noreply.github.com> Date: Sun, 6 Jan 2019 11:01:53 -0500 Subject: [PATCH 2/5] Add last_series() for race-info app --- ir_webstats/client.py | 8 ++++++++ ir_webstats/constants.py | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ir_webstats/client.py b/ir_webstats/client.py index 09d8500..d26b6cb 100644 --- a/ir_webstats/client.py +++ b/ir_webstats/client.py @@ -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, diff --git a/ir_webstats/constants.py b/ir_webstats/constants.py index a08edca..af9a114 100644 --- a/ir_webstats/constants.py +++ b/ir_webstats/constants.py @@ -57,8 +57,9 @@ 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 From f95672c17bc924ca067f25954faac9bb73417344 Mon Sep 17 00:00:00 2001 From: Daniel Nowak <13685818+lowlyocean@users.noreply.github.com> Date: Sun, 6 Jan 2019 11:04:56 -0500 Subject: [PATCH 3/5] Resolves jeysonmc/ir_webstats#4 --- ir_webstats/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ir_webstats/client.py b/ir_webstats/client.py index d26b6cb..40165e8 100644 --- a/ir_webstats/client.py +++ b/ir_webstats/client.py @@ -488,7 +488,7 @@ def event_results(self, subsession, sessnum=0): r = self.__req(ct.URL_GET_EVENTRESULTS % (subsession, sessnum))\ .encode('utf8') - data = [x for x in csv.reader(StringIO(r), delimiter=',', + data = [x for x in csv.reader(StringIO(r.decode('utf8')), delimiter=',', quotechar='"')] header_ev, header_res = data[0], data[3] event_info = dict(list(zip(header_ev, data[1]))) From 392d69c4241ec0283d7c7584e87b5fead6404b09 Mon Sep 17 00:00:00 2001 From: Daniel Nowak <13685818+lowlyocean@users.noreply.github.com> Date: Sun, 1 Mar 2020 11:53:09 -0500 Subject: [PATCH 4/5] https fix --- ir_webstats/client.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ir_webstats/client.py b/ir_webstats/client.py index 40165e8..3e93f88 100644 --- a/ir_webstats/client.py +++ b/ir_webstats/client.py @@ -486,9 +486,8 @@ 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') - data = [x for x in csv.reader(StringIO(r.decode('utf8')), delimiter=',', + 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] event_info = dict(list(zip(header_ev, data[1]))) From c5bb89406a5e87c62b19e4d20597c5c823044648 Mon Sep 17 00:00:00 2001 From: Daniel Nowak <13685818+lowlyocean@users.noreply.github.com> Date: Sat, 9 May 2020 20:58:26 -0400 Subject: [PATCH 5/5] Cleanup imports --- ir_webstats/client.py | 4 ++-- ir_webstats/util.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ir_webstats/client.py b/ir_webstats/client.py index 3e93f88..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: 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