From 4604d66149768880e6ce214e90b3649a818f824f Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 15 Dec 2021 19:30:01 +0100 Subject: [PATCH] warning wednesday --- rowers/sporttracksstuff.py | 2 +- rowers/tests/mocks.py | 95 ++++++++++++++++++++++---------------- 2 files changed, 57 insertions(+), 40 deletions(-) diff --git a/rowers/sporttracksstuff.py b/rowers/sporttracksstuff.py index b8824a62..8f618d87 100644 --- a/rowers/sporttracksstuff.py +++ b/rowers/sporttracksstuff.py @@ -117,7 +117,7 @@ def get_workout(user,sporttracksid,do_async=False): data = s.json() strokedata = pd.DataFrame.from_dict({ - key: pd.Series(value) for key, value in data.items() + key: pd.Series(value,dtype='object') for key, value in data.items() }) id,message = add_workout_from_data( diff --git a/rowers/tests/mocks.py b/rowers/tests/mocks.py index 3b8d45cd..045fef9c 100644 --- a/rowers/tests/mocks.py +++ b/rowers/tests/mocks.py @@ -884,10 +884,27 @@ def mocked_requests(*args, **kwargs): class MockStreamResponse: def __init__(self, file_name, status_code): - data = open(file_name,'rb') - self.raw = data + self.raw = open(file_name,'rb') self.status_code = status_code self.ok = True + self.file_name = file_name + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.raw.close() + + + def __delete__(self): + self.raw.close() + + + def __del__(self): + try: + self.raw.close() + except TypeError: + pass class MockOAuth1Session: def __init__(self,*args, **kwargs): @@ -969,93 +986,93 @@ def mocked_requests(*args, **kwargs): return MockResponse(jsonresponse,200) - polartester = re.compile('.*?polaraccesslink\.com') - c2tester = re.compile('.*?log\.concept2\.com') - stravatester = re.compile('.*?strava\.com') - sttester = re.compile('.*?sporttracks\.mobi') - rktester = re.compile('.*?runkeeper\.com') - uatester = re.compile('.*?mapmyfitness\.com') - tptester = re.compile('.*?trainingpeaks\.com') - nktester = re.compile('.*?nkrowlink\.com') - rp3tester = re.compile('.*?rp3rowing-app\.com') - garmintester = re.compile('.*?garmin\.com') - fakturoidtester = re.compile('.*?fakturoid\.cz') + polartester = re.compile(r'.*?polaraccesslink\.com') + c2tester = re.compile(r'.*?log\.concept2\.com') + stravatester = re.compile(r'.*?strava\.com') + sttester = re.compile(r'.*?sporttracks\.mobi') + rktester = re.compile(r'.*?runkeeper\.com') + uatester = re.compile(r'.*?mapmyfitness\.com') + tptester = re.compile(r'.*?trainingpeaks\.com') + nktester = re.compile(r'.*?nkrowlink\.com') + rp3tester = re.compile(r'.*?rp3rowing-app\.com') + garmintester = re.compile(r'.*?garmin\.com') + fakturoidtester = re.compile(r'.*?fakturoid\.cz') - c2importregex = '.*?concept2.com\/api\/users\/me\/results\/\d+' + c2importregex = r'.*?concept2.com\/api\/users\/me\/results\/\d+' c2importtester = re.compile(c2importregex) - c2uploadregex = '.*?concept2.com\/api\/users\/\d+\/results$' + c2uploadregex = r'.*?concept2.com\/api\/users\/\d+\/results$' c2uploadtester = re.compile(c2uploadregex) - c2strokesregex = '.*?concept2.com\/api\/users\/me\/results\/\d+\/strokes' + c2strokesregex = r'.*?concept2.com\/api\/users\/me\/results\/\d+\/strokes' c2strokestester = re.compile(c2strokesregex) - c2workoutlistregex = '.*?concept2\.com\/api\/users\/me\/results\?page=\d' + c2workoutlistregex = r'.*?concept2\.com\/api\/users\/me\/results\?page=\d' c2workoutlisttester = re.compile(c2workoutlistregex) - nkworkoutlistregex = '.*?nkrowlink\.com\/api\/v1\/sessions' + nkworkoutlistregex = r'.*?nkrowlink\.com\/api\/v1\/sessions' nkworkoutlisttester = re.compile(nkworkoutlistregex) - nkstrokesregex = '.*?nkrowlink\.com\/api\/v1\/sessions\/strokes' + nkstrokesregex = r'.*?nkrowlink\.com\/api\/v1\/sessions\/strokes' nkstrokestester = re.compile(nkstrokesregex) - rp3graphregex = '.*?rp3rowing-app\.com\/graphql' + rp3graphregex = r'.*?rp3rowing-app\.com\/graphql' rp3graphtester = re.compile(rp3graphregex) - stravaathleteregex = '.*?strava\.com\/api\/v3\/athlete$' + stravaathleteregex = r'.*?strava\.com\/api\/v3\/athlete$' stravaathletetester = re.compile(stravaathleteregex) - stravaworkoutlistregex = '.*?strava\.com\/api\/v3\/athlete\/activities' + stravaworkoutlistregex = r'.*?strava\.com\/api\/v3\/athlete\/activities' stravaworkoutlisttester = re.compile(stravaworkoutlistregex) - stravastreamregex = '.*?strava\.com\/api\/v3\/activities\/\d+\/streams\/(\w.*?)\?' + stravastreamregex = r'.*?strava\.com\/api\/v3\/activities\/\d+\/streams\/(\w.*?)\?' stravastreamtester = re.compile(stravastreamregex) - stravasummaryregex = '.*?strava\.com\/api\/v3\/activities\/\d+$' + stravasummaryregex = r'.*?strava\.com\/api\/v3\/activities\/\d+$' stravasummarytester = re.compile(stravasummaryregex) - stuploadregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities.json$' + stuploadregex = r'.*?sporttracks\.mobi\/api\/v2\/fitnessActivities.json$' stuploadtester = re.compile(stuploadregex) - stworkoutlistregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities$' + stworkoutlistregex = r'.*?sporttracks\.mobi\/api\/v2\/fitnessActivities$' stworkoutlisttester = re.compile(stworkoutlistregex) - ststrokesregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities/(\d+)$' + ststrokesregex = r'.*?sporttracks\.mobi\/api\/v2\/fitnessActivities/(\d+)$' ststrokestester = re.compile(ststrokesregex) - rkuploadregex = '.*?api\.runkeeper\.com\/fitnessActivities$' + rkuploadregex = r'.*?api\.runkeeper\.com\/fitnessActivities$' rkuploadtester = re.compile(rkuploadregex) - rkuserregex = '.*?api\.runkeeper\.com\/user$' + rkuserregex = r'.*?api\.runkeeper\.com\/user$' rkusertester = re.compile(rkuserregex) - rkstrokesregex = '.*?api\.runkeeper\.com\/fitnessActivities/\d+$' + rkstrokesregex = r'.*?api\.runkeeper\.com\/fitnessActivities/\d+$' rkstrokestester = re.compile(rkstrokesregex) - uaapiregex = '.*?api\.ua\.com' + uaapiregex = r'.*?api\.ua\.com' uaapitester = re.compile(uaapiregex) - uauploadregex = '.*?api\.ua\.com\/v7.1\/workout\/$' + uauploadregex = r'.*?api\.ua\.com\/v7.1\/workout\/$' uauploadtester = re.compile(uauploadregex) - uastrokesregex = '.*?api\.ua\.com\/v7.1\/workout\/\d+' + uastrokesregex = r'.*?api\.ua\.com\/v7.1\/workout\/\d+' uastrokestester = re.compile(uastrokesregex) - ualistregex = '.*?api\.ua\.com\/v7.1\/workout\/\?user' + ualistregex = r'.*?api\.ua\.com\/v7.1\/workout\/\?user' ualisttester = re.compile(ualistregex) - uauserregex = '.*?api\.ua\.com\/v7.1\/user\/self\/' + uauserregex = r'.*?api\.ua\.com\/v7.1\/user\/self\/' uausertester = re.compile(uauserregex) - tpuploadregex = '.*?trainingpeaks\.com\/v1\/file' + tpuploadregex = r'.*?trainingpeaks\.com\/v1\/file' tpuploadtester = re.compile(tpuploadregex) - garmindownloadregex = '.*?garmin\.com\/mockfile?id=1' + garmindownloadregex = r'.*?garmin\.com\/mockfile?id=1' garmindownloadtester = re.compile(garmindownloadregex) - garmintrainingregex = '.*?garmin\.com\/training-api\/workout' + garmintrainingregex = r'.*?garmin\.com\/training-api\/workout' garmintrainingtester = re.compile(garmintrainingregex) - garmintrainingscheduleregex = '.*?garmin\.com\/training-api\/schedule' + garmintrainingscheduleregex = r'.*?garmin\.com\/training-api\/schedule' garmintrainingscheduletester = re.compile(garmintrainingscheduleregex) if garmintester.match(args[0]):