def test_summary(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') summary = row.summary() emptysummary = len(summary) == 0 assert_equal(emptysummary, False) want = """Workout Summary - testdata/summarytest.csv --|Total|-Total----|--Avg--|-Avg-|Avg-|-Avg-|-Max-|-Avg --|Dist-|-Time-----|-Pace--|-Pwr-|SPM-|-HR--|-HR--|-DPS --|12743|00:57:35.9|02:15.6|000.0|22.5|000.0|000.0|09.8 W-|07410|00:29:55.0|02:01.1|000.0|25.8|000.0|000.0|09.6 R-|05335|00:27:41.3|02:35.7|000.0|19.0|000.0|000.0|11.4 Workout Details #-|SDist|-Split-|-SPace-|-Pwr-|SPM-|AvgHR|MaxHR|DPS- 01|02579|10:18.8|02:00.0|000.0|26.7|000.0|0.0|09.4 02|02431|09:46.4|02:00.6|000.0|25.7|000.0|0.0|09.7 03|02400|09:49.8|02:02.9|000.0|25.0|000.0|0.0|09.8 """ r = rowingdata.rowingdata(csvfile='testdata/summarytest.csv') got = r.allstats() assert_equal.__self__.maxDiff = None assert_equal(want, got)
def test_cumcp(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') df = rowingdata.cumcpdata([row1, row2]) isempty = df.empty assert_equal(isempty, False)
def test_histo(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') power = rowingdata.histodata([row1,row2]) isempty = len(power)==0 assert_equals(isempty,False)
def test_cumcp(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') df = rowingdata.cumcpdata([row1,row2]) isempty = df.empty assert_equals(isempty,False)
def test_histo(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') power = rowingdata.histodata([row1, row2]) isempty = len(power) == 0 assert_equal(isempty, False)
def test_addition(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata_part1.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata_part2.csv') row = row1 + row2 len1 = len(row2) len2 = len(row1) assert_equal(len(row), len1 + len2)
def test_add_overlap(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row = row1+row2 len1 = len(row) len2 = len(row1) assert_equals(len1,len2)
def test_add_overlap(self): row1 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row2 = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row = row1 + row2 len1 = len(row) len2 = len(row1) assert_equal(len1, len2)
def testtcxexport(self): csvfile='testdata/Speedcoach2example.csv' assert_equals(rowingdata.get_file_type(csvfile),'speedcoach2') r=rowingdata.SpeedCoach2Parser(csvfile=csvfile) summarystring = r.summary() row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,97) tcxfile = 'testdata/testtcx.tcx' row.exporttotcx(tcxfile) assert_equals(rowingdata.get_file_type(tcxfile),'tcx') r2 = rowingdata.TCXParser(tcxfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,97)
def testtcxexport(self): csvfile = 'testdata/Speedcoach2example.csv' assert_equal(rowingdata.get_file_type(csvfile), 'speedcoach2') r = rowingdata.SpeedCoach2Parser(csvfile=csvfile) summarystring = r.summary() row = rowingdata.rowingdata(df=r.df) assert_equal(row.number_of_rows, 97) tcxfile = 'testdata/testtcx.tcx' row.exporttotcx(tcxfile) assert_equal(rowingdata.get_file_type(tcxfile), 'tcx') r2 = rowingdata.TCXParser(tcxfile) row = rowingdata.rowingdata(df=r.df) assert_equal(row.number_of_rows, 97)
def testpainsled(self): csvfile = 'testdata/PainsledForce.csv' row = rowingdata.rowingdata(csvfile=csvfile) averageforce_lbs = int(row.df[' AverageDriveForce (lbs)'].mean()) averageforce_N = int(row.df[' AverageDriveForce (N)'].mean()) assert_equal(averageforce_N, 398) assert_equal(averageforce_lbs, 89)
def testspeedcoach(self): csvfile = 'testdata/EmpowerSpeedCoachForce.csv' r = rowingdata.SpeedCoach2Parser(csvfile=csvfile) row = rowingdata.rowingdata(df=r.df) averageforce_lbs = int(row.df[' AverageDriveForce (lbs)'].mean()) averageforce_N = int(row.df[' AverageDriveForce (N)'].mean()) assert_equal(averageforce_N, 263) assert_equal(averageforce_lbs, 59)
def test_getpower(self): velo = 4.0 r = rowingdata.getrower() rg = rowingdata.getrigging() row = rowingdata.SpeedCoach2Parser('testdata/SpeedCoach2v2.12.csv') row = rowingdata.rowingdata(df=row.df) result = row.otw_setpower_silent(skiprows=40) assert_equals(result,1)
def test_getpower(self): velo = 4.0 r = rowingdata.getrower() rg = rowingdata.getrigging() row = rowingdata.SpeedCoach2Parser('testdata/SpeedCoach2v2.12.csv') row = rowingdata.rowingdata(df=row.df) result = row.otw_setpower_silent(skiprows=40) assert_equal(result, 1)
def test_bearing(self): velo = 4.0 r = rowingdata.getrower() rg = rowingdata.getrigging() row = rowingdata.SpeedCoach2Parser('testdata/SpeedCoach2v2.12.csv') row = rowingdata.rowingdata(df=row.df) result = row.add_bearing() assert_equals(result,1)
def test_bearing(self): velo = 4.0 r = rowingdata.getrower() rg = rowingdata.getrigging() row = rowingdata.SpeedCoach2Parser('testdata/SpeedCoach2v2.12.csv') row = rowingdata.rowingdata(df=row.df) result = row.add_bearing() assert_equal(result, 1)
def testcurvedata(self): file = 'testdata/rp3_curve.csv' r = rowingdata.RowPerfectParser(file) row = rowingdata.rowingdata(df=r.df) df = row.get_instroke_data('curve_data') assert_equals(len(df),468) cs = row.get_instroke_columns() assert_equals(len(cs),1) assert_equals(cs[0],'curve_data') file = 'testdata/quiske_per_stroke_left.csv' r = rowingdata.QuiskeParser(file) row = rowingdata.rowingdata(df=r.df) df = row.get_instroke_data('oar angle velocity curve') assert_equals(len(df),25) cs = row.get_instroke_columns() assert_equals(len(cs),2) assert_equals(cs[0],'boat accelerator curve')
def test_repair(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') len1 = len(row) row.repair() len2 = len(row) assert_equal(len1, len2)
def test_repair(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') len1 = len(row) row.repair() len2 = len(row) assert_equals(len1,len2)
def testcurvedata(self): file = 'testdata/rp3_curve.csv' r = rowingdata.RowPerfectParser(file) row = rowingdata.rowingdata(df=r.df) df = row.get_instroke_data('curve_data') assert_equal(len(df), 468) cs = row.get_instroke_columns() assert_equal(len(cs), 1) assert_equal(cs[0], 'curve_data') file = 'testdata/quiske_per_stroke_left.csv' r = rowingdata.QuiskeParser(file) row = rowingdata.rowingdata(df=r.df) df = row.get_instroke_data('oar angle velocity curve') assert_equal(len(df), 25) cs = row.get_instroke_columns() assert_equal(len(cs), 2) assert_equal(cs[0], 'boat accelerator curve')
class TestAddPowerZones: row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') def test_bearing(self): r = rowingdata.getrower() rg = rowingdata.getrigging() row = rowingdata.SpeedCoach2Parser('testdata/SpeedCoach2v2.12.csv') row = rowingdata.rowingdata(df=row.df) result = rowingdata.addpowerzones(row.df, 225, [23, 53, 76, 87, 91])
def testmystery(self): csvfile='testdata/mystery.csv' assert_equals(rowingdata.get_file_type(csvfile),'mystery') r=rowingdata.MysteryParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,4550) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,7478) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),2325) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testergdata(self): csvfile='testdata/ergdata_example.csv' assert_equals(rowingdata.get_file_type(csvfile),'ergdata') r=rowingdata.ErgDataParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,180) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,1992) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),520) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testspeedcoach(self): csvfile='testdata/speedcoachexample.csv' assert_equals(rowingdata.get_file_type(csvfile),'speedcoach') r=rowingdata.speedcoachParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,476) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,9520) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(totaltime,3176.5) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testergstick(self): csvfile='testdata/ergstick.csv' assert_equals(rowingdata.get_file_type(csvfile),'ergstick') r=rowingdata.ErgStickParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,2400) totaldist=row.df['cum_dist'].max() assert_equals(int(totaldist),4959) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),1201) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testrowpro(self): csvfile='testdata/RP_testdata.csv' assert_equals(rowingdata.get_file_type(csvfile),'rp') r=rowingdata.RowProParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,988) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,10000) assert_equals(row.rowdatetime,datetime.datetime(2016,3,15,19,49,48,863000,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(10*totaltime),22653) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testpainsleddesktop(self): csvfile='testdata/painsled_desktop_example.csv' assert_equals(rowingdata.get_file_type(csvfile),'painsleddesktop') r=rowingdata.painsledDesktopParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,638) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,7097) assert_equals(row.rowdatetime,datetime.datetime(2016,3,29,17,41,27,93000,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),1802) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def test_plot_otw(self, mock_fig, mock_Fig): row = rowingdata.SpeedCoach2Parser(csvfile='testdata/Speedcoach2example.csv') row = rowingdata.rowingdata(df=row.df) row.plotmeters_otw() row.plottime_otw() row.plottime_otwpower() fig = row.get_timeplot_otw('aap') fig = row.get_metersplot_otw('aap') fig = row.get_time_otwpower('aap') fig = row.get_metersplot_otwpower('aap') fig = row.get_timeplot_otwempower('aap') fig = row.get_metersplot_otwempower('aap')
def testrowprointervals(self): csvfile='testdata/RP_interval.csv' assert_equals(rowingdata.get_file_type(csvfile),'rp') r=rowingdata.RowProParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,1674) totaldist=row.df['cum_dist'].max() assert_equals(int(totaldist),19026) assert_equals(row.rowdatetime,datetime.datetime(2016,1,12,19,23,10,878000,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),4800) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testspeedcoach2(self): csvfile='testdata/Speedcoach2example.csv' assert_equals(rowingdata.get_file_type(csvfile),'speedcoach2') r=rowingdata.SpeedCoach2Parser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,97) totaldist=row.df['cum_dist'].max() assert_equals(int(10*totaldist),7516) assert_equals(row.rowdatetime,datetime.datetime(2016,7,28,11,35,1,500000,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),170) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testboatcoach(self): csvfile='testdata/boatcoach.csv' assert_equals(rowingdata.get_file_type(csvfile),'boatcoach') r=rowingdata.BoatCoachParser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,119) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,499) assert_equals(row.rowdatetime,datetime.datetime(2016,11,28,8,37,2,0,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(totaltime),118) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def testfit(self): fitfile='testdata/3x250m.fit' assert_equals(rowingdata.get_file_type(fitfile),'fit') r=rowingdata.FITParser(fitfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,94) totaldist=row.df['cum_dist'].max() assert_equals(int(totaldist),750) assert_equals(row.rowdatetime,datetime.datetime(2016,7,28,9,35,29,0,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(10*totaltime),4870) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],False)
def testspeedcoach2v127(self): csvfile='testdata/SpeedCoach2Linkv1.27.csv' assert_equals(rowingdata.get_file_type(csvfile),'speedcoach2') r=rowingdata.SpeedCoach2Parser(csvfile=csvfile) row=rowingdata.rowingdata(df=r.df) assert_equals(row.number_of_rows,1408) totaldist=row.df['cum_dist'].max() assert_equals(totaldist,14344.5) assert_equals(row.rowdatetime,datetime.datetime(2016,11,5,9,2,3,200000,utc)) totaltime=row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() assert_equals(int(10*totaltime),45018) checks = row.check_consistency() assert_equals(checks['velo_time_distance'],True)
def test_plot_erg(self,mock_fig, mock_Fig): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row.plotmeters_erg() row.plottime_erg() fig = row.get_metersplot_erg2('aap') fig = row.get_timeplot_erg2('aap') fig = row.get_pacehrplot('aap') fig = row.get_paceplot('aap') fig = row.get_metersplot_erg('aap') fig = row.get_timeplot_erg('aap') row.plottime_hr() row.piechart() row.power_piechart() fig = row.get_power_piechart('aap') fig = row.get_piechart('aap')
def test_plot_erg(self, mock_fig, mock_Fig): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row.plotmeters_erg() row.plottime_erg() fig = row.get_metersplot_erg2('aap') fig = row.get_timeplot_erg2('aap') fig = row.get_pacehrplot('aap') fig = row.get_paceplot('aap') fig = row.get_metersplot_erg('aap') fig = row.get_timeplot_erg('aap') row.plottime_hr() row.piechart() row.power_piechart() fig = row.get_power_piechart('aap') fig = row.get_piechart('aap')
def test_write_tcx(self): row = rowingdata.rowingdata() filename = os.getcwd() + '/test_write.gpx`' try: row.exporttogpx(filename) with open(filename) as f: contents = f.read() finally: # NOTE: To retain the tempfile if the test fails, remove # the try-finally clauses try: os.remove(filename) except FileNotFoundError: pass assert_equal(len(contents), 822)
def main(): readFile = argv[1] try: rowerFile = argv[2] except IndexError: rowerFile = "defaultrower.txt" rower = rowingdata.getrower(rowerFile) row = rowingdata.rowingdata(readFile, rowtype="Indoor Rower", rower=rower) print(row.allstats()) row.plotmeters_erg() print("done " + readFile)
def test_write_csv(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv', absolutetimestamps=False) filename = os.getcwd() + '/test_write.csv' try: row.write_csv(filename) with open(filename) as f: contents = f.read() finally: # NOTE: To retain the tempfile if the test fails, remove # the try-finally clauses try: os.remove(filename) except FileNotFoundError: pass assert_equal(True, len(contents) > 30000)
class TestCorrectedRowingData: row = rowingdata.rowingdata(csvfile='testdata/correctedpainsled.csv') def test_filetype(self): assert_equal(rowingdata.get_file_type('testdata/testdata.csv'), 'csv') def test_basic_rowingdata(self): assert_equal(self.row.rowtype, 'Indoor Rower') assert_equal(self.row.dragfactor, 95.8808988764045) assert_equal(self.row.number_of_rows, 445) assert_equal(self.row.rowdatetime, datetime.datetime(2017, 5, 30, 19, 4, 16, 383211, utc)) totaldist = self.row.df['cum_dist'].max() totaltime = self.row.df['TimeStamp (sec)'].max( ) - self.row.df['TimeStamp (sec)'].min() totaltime = totaltime + self.row.df.loc[0, ' ElapsedTime (sec)'] assert_equal(int(totaltime), 1309) assert_equal(totaldist, 5000) assert_equal(self.row.df[' Cadence (stokes/min)'].mean(), 20.339325842696628)
def main(): readFile = argv[1] try: rowerFile = argv[2] except IndexError: rowerFile = "defaultrower.txt" rower = rowingdata.getrower(rowerFile) row = rowingdata.rowingdata(readFile,rowtype="Indoor Rower", rower=rower) print(row.allstats()) row.plotmeters_erg() print("done "+readFile)
def test_getvalues(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') spm = row.getvalues(' Cadence (stokes/min)') assert_equals(len(row),len(spm))
def test_spmfromtimestamp(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') row.spm_fromtimestamps()
def test_summary(self): row = rowingdata.rowingdata(csvfile='testdata/testdata.csv') summary = row.summary() emptysummary = len(summary) == 0 assert_equals(emptysummary,False)
def test_bearing(self): r = rowingdata.getrower() rg = rowingdata.getrigging() row = rowingdata.SpeedCoach2Parser('testdata/SpeedCoach2v2.12.csv') row = rowingdata.rowingdata(df=row.df) result = rowingdata.addpowerzones(row.df, 225, [23,53,76,87,91])
def checkfile(f2, verbose=False): fileformat = rowingdata.get_file_type(f2) summary = 'a' notread = 1 if verbose: print(fileformat) if len(fileformat) == 3 and fileformat[0] == 'zip': with zipfile.ZipFile(f2) as z: f = z.extract(z.namelist()[0], path='C:/Downloads') fileformat = fileformat[2] os.remove(f_to_be_deleted) if fileformat == 'unknown': return 0 # handle non-Painsled if (fileformat != 'csv'): # handle RowPro: if (fileformat == 'rp'): row = rowingdata.RowProParser(f2) # handle TCX if (fileformat == 'tcx'): row = rowingdata.TCXParser(f2) row.write_csv(f2 + 'o.csv') row = rowingdata.rowingdata(csvfile=f2 + 'o.csv') os.remove(f2 + 'o.csv') notread = 0 # handle Mystery if (fileformat == 'mystery'): row = rowingdata.MysteryParser(f2) # handle Quiske if (fileformat == 'quiske'): row = rowingdata.QuiskeParser(f2) # handle RitmoTime if (fileformat == 'ritmotime'): row = rowingdata.RitmoTimeParser(f2) # handle TCX no HR if (fileformat == 'tcxnohr'): row = rowingdata.TCXParserNoHR(f2) row.write_csv(f2 + 'o.csv') row = rowingdata.rowingdata(csvfile=f2 + 'o.csv') os.remove(f2 + 'o.csv') notread = 0 # handle ErgData if (fileformat == 'ergdata'): row = rowingdata.ErgDataParser(f2) # handle CoxMate if (fileformat == 'coxmate'): row = rowingdata.CoxMateParser(f2) # handle BoatCoachOTW if (fileformat == 'boatcoachotw'): row = rowingdata.BoatCoachOTWParser(f2) # handle BoatCoach if (fileformat == 'boatcoach'): row = rowingdata.BoatCoachParser(f2) # handle painsled desktop if (fileformat == 'painsleddesktop'): row = rowingdata.painsledDesktopParser(f2) # handle speed coach GPS if (fileformat == 'speedcoach'): row = rowingdata.speedcoachParser(f2) # handle speed coach GPS 2 if (fileformat == 'speedcoach2'): row = rowingdata.SpeedCoach2Parser(f2) summary = row.allstats() v = rowingdata.get_empower_firmware(f2) rig = rowingdata.get_empower_rigging(f2) if (fileformat == 'rowperfect3'): row = rowingdata.RowPerfectParser(f2) # handle ErgStick if (fileformat == 'ergstick'): row = rowingdata.ErgStickParser(f2) # handle Kinomap if (fileformat == 'kinomap'): row = rowingdata.KinoMapParser(f2) # handle FIT if (fileformat == 'fit'): row = rowingdata.FITParser(f2) row.write_csv(f2 + 'o.csv') row = rowingdata.rowingdata(csvfile=f2 + 'o.csv') os.remove(f2 + 'o.csv') notread = 0 # handle Humon if (fileformat == 'humon'): row = rowingdata.HumonParser(f2) row.write_csv(f2 + 'o.csv') row = rowingdata.rowingdata(csvfile=f2 + 'o.csv') os.remove(f2 + 'o.csv') notread = 0 # handle workout log (no stroke data) if (fileformat == 'c2log'): return 0 if notread: row = rowingdata.rowingdata(df=row.df) else: row = rowingdata.rowingdata(csvfile=f2) nr_of_rows = row.number_of_rows distmax = row.df['cum_dist'].max() timemax = row.df['TimeStamp (sec)'].max() - row.df['TimeStamp (sec)'].min() nrintervals = len(row.df[' lapIdx'].unique()) mintime = row.df['TimeStamp (sec)'].min() maxtime = row.df['TimeStamp (sec)'].max() if verbose: print(("nr lines", row.number_of_rows)) print(("data ", row.rowdatetime)) print(("dist ", distmax)) print(("Time ", timemax)) print(("Nr intervals ", nrintervals)) print(("Min time ",mintime)) print(("Max time ",maxtime)) res = row.intervalstats_values() int1time = res[0][0] int1dist = res[1][0] if verbose: print(("Interval 1 time ", int1time)) print(("Interval 1 dist ", int1dist)) y = row.rowdatetime.year m = row.rowdatetime.month d = row.rowdatetime.day h = row.rowdatetime.hour tz = row.rowdatetime.tzname() minute = row.rowdatetime.minute sec = row.rowdatetime.second results = { 'type': fileformat, 'nr_lines': nr_of_rows, 'year': y, 'month': m, 'day': d, 'hour': h, 'minute': minute, 'second': sec, 'dist': int(distmax), 'seconds': int(timemax), 'nrintervals': nrintervals, 'lap 1 time': int(int1time), 'lap 1 dist': int(int1dist), 'timezone': tz, 'summary':summary, } return results