def BicycleSimple(): p = training.period('Bicycle') p.append(BasicsBicycle()) p.append(BuildupBicycleSpeed()) p.append(training.period('Buildup Bicycle Speed', 21)) p.append(BasicsBicycle()) p.append(BuildupBicycleSpeed()) return p
def Bicycle2021(): p = training.period('Bicycle') p.append(BasicsBicycle()) p.append(BuildupBicycleSpeed()) p.append(BuildupBicycleForce()) p.append(training.period('Buildup Bicycle Speed', 21)) p.append(HighlightBicycle2()) p.append(BuildupBicycleSpeed()) p.append(HighlightBicycle3()) return p
def PlanSimple(strArg): s = training.period(strArg) s.appendDescription([ 'Targets', [['Same volume like last season'], ['defined Highlights', ['Bicycle', 'Run']]] ]) s.appendDescription([ 'Rules', [['Regeneration'], ['Differenciation', ['Type', 'Intensity', 'Distance']]] ]) s.append(BasicsGeneral()) #s.append(BasicsAlternative()) s.append(BicycleSimple()) #s.append(RegenerationGeneral()) s.append(RunningSimple()) s.schedule(2021, 1, 4) #s.resetUnits() #s.parseFile('Training2021.csv') return s
def BasicsBicycle(): p = training.period('Basics Endurance Bicycle') p.appendDescription('Weight, Metabolism, Nutrition') p.appendDescription('1000 km, switch to Racing bike') c = training.cycle('Focus Bicycle') c.insert(1, training.unit('30;Bicycle;1:15:00')) c.insert(3, training.unit('3.5;Running;25:00')) c.insert(3, training.unit(';Strength;25:00')) c.insert(6, training.unit('40;Bicycle;02:00:00')) p.append(c) p.append(c) p.append(c) p.appendChildDescription('Test 5km Time trial') p.append(RegenerationGeneral()) p.append(c) c.scale(1.2) p.append(c) p.append(c) p.append(RegenerationGeneral()) c.scale(1.2) p.append(c) p.append(c) p.append(RegenerationGeneral()) return p
def PlanTriathlon(strArg): s = training.period(strArg) s.appendDescription([ 'Targets', [['Same volume like last season'], ['defined Highlights', ['Cycling', 'Run']]] ]) s.appendDescription([ 'Rules', [['Regeneration'], ['Differenciation', ['Type', 'Intensity', 'Distance']]] ]) s.append(BasicsGeneral()) s.append(BasicsSwimming()) s.append(BasicsCycling()) s.append(BasicsRunning()) s.append(BasicsCombination()) s.append(Highlight1()) s.schedule(2021, 3, 1) #s.resetUnits() #s.parseFile('Training2021.csv') return s
def BasicsGeneral(): p = training.period('General Basics') p.appendDescription('Regeneration') c = training.cycle('General Endurance') c.insert(1, training.unit('18:00;3.5;RB;25:00')) c.insert(3, training.unit('18:00;3.5;RB;25:00')) f = c.insert(4, training.unit(';FB;25:00')) c.insert(5, training.unit(';FB;25:00')) c.insert(6, training.unit('08:00;30;BB;02:00:00')) p.append(c) p.append(c) c.scale(1.2, r"FB") p.append(c) p.append(RegenerationGeneral()) c.appendDescription('Nutrition ABC') f.appendDescription('Maximum') p.append(c) p.append(c) f.setDescription() p.append(c) p.append(RegenerationGeneral()) return p
def RunningSimple(): p = training.period('Running') p.appendDescription('Compensation swimming') p.append(BasicsRunning()) p.append(HighlightRunning1()) p.append(training.cycle('Highlight Running Distance', 14)) p.append(BuildupRunningSpeed()) p.append(BuildupRunningSpeed()) p.append(HighlightRunning1()) return p
def test_class_period(self): """ Test all methods of period class """ c = training.cycle('Focus Bicycle', 21) c.insert(1, training.unit('11:00;30;Foo;1:15:00')) c.insert(3, training.unit('3.5;RR;25:00')) c.insert(6, training.unit('07:00;30;Foo;1:15:00')) p = training.period('Period') self.assertTrue(p.hasTitle()) p.appendDescription('additional Notes') self.assertTrue(p.hasDescription()) p.append(c) p.append(c) p.appendChildDescription('Test Time trial') pp = training.period('Parent Period') pp.append(p) pp.append(p) ppp = training.period('Parent Parent Period') ppp.append(pp) pp.scale(2.0) ppp.append(pp) self.assertEqual(ppp.getPeriod(), 168) self.assertEqual(ppp.getNumberOfUnits(), 24) self.assertEqual(ppp.getTypeOfUnits(), ['Foo', 'RR']) self.assertEqual(ppp.dateBegin, date.today()) ppp.schedule(2024, 1, 1) self.assertEqual(ppp.dateBegin, date(2024, 1, 1)) self.assertEqual(ppp.dateEnd, date(2024, 6, 16))
def BuildupRunningSpeed(): p = training.period('Buildup Running Speed') c = training.cycle('Focus Running') c.appendDescription('Test 1000m speed run') c.insert(1, training.unit('30;Bicycle;1:25:00')) c.insert(3, training.unit('5;Bicycle;25:00')) c.insert(3, training.unit(';Strength;25:00')) c.insert(6, training.unit('5;Bicycle;02:30:00')) p.append(c) p.append(c) p.append(RegenerationGeneral()) return p
def BuildupBicycleSpeed(): p = training.period('Buildup Bicycle Speed') p.appendDescription('Sprint Final speed') c = training.cycle('Focus Bicycle Speed') c.insert(1, training.unit('30;Bicycle;1:15:00')) c.insert(3, training.unit('3.5;Running;25:00')) c.insert(3, training.unit(';Strength;25:00')) c.insert(5, training.unit(';Strength;25:00')) c.insert(6, training.unit('40;Bicycle;02:00:00')) p.append(c) p.append(c) p.append(RegenerationGeneral()) p.append(c) return p
def BuildupBicycleForce(): p = training.period('Buildup Bicycle Force') p.appendDescription('Force uphill') c = training.cycle('Focus Bicycle Force') c.insert(1, training.unit('30;BI;1:15:00')) c.insert(3, training.unit('3.5;RR;25:00')) c.insert(3, training.unit(';FB;25:00')) c.insert(5, training.unit(';FB;25:00')) c.insert(6, training.unit('40;BI;02:00:00')) p.append(c) p.append(c) p.append(RegenerationGeneral()) p.append(c) return p
def Plan2021(strArg): s = training.period(strArg) s.appendDescription([ 'Targets', [['Same volume like last season'], ['defined Highlights', ['Bicycle', 'Run']]] ]) s.appendDescription([ 'Rules', [['Regeneration'], ['Differenciation', ['Type', 'Intensity', 'Distance']]] ]) s.appendDescription([ 'Units', [[ 'Bicycle', [ 'BB - Basics', 'BI - Intensity', 'BS - Speed', 'BC - Compensation' ] ], [ 'Run', [ 'RB - Basics', 'RI - Intensity', 'RS - Speed', 'RC - Compensation' ] ], ['Strength, Force', ['FB - Basics', 'FI - Intensity', 'FS - Speed']], ['Competition', ['Bicycle', 'Run']]] ]) s.append(BasicsGeneral()) #s.append(BasicsAlternative()) s.append(Bicycle2021()) #s.append(RegenerationGeneral()) s.append(Running2021()) s.schedule(2021, 1, 4) #s.resetUnits() #s.parseFile('Training2021.csv') return s
def BasicsGeneral(): p = training.period('General Basics') p.appendDescription('Regeneration') c = training.cycle('General Endurance') c.insert(1, training.unit('3.5;Running;25:00')) c.insert(3, training.unit('3.5;Running;25:00')) c.insert(5, training.unit(';Strength;25:00')) c.insert(6, training.unit('30;Cycling;02:00:00')) p.append(c) p.append(c) p.append(RegenerationGeneral()) p.append(c) p.append(c) p.append(RegenerationGeneral()) return p
def BasicsSwimming(): p = training.period('Basics Endurance Swimming') c = training.cycle('Focus Swimming') c.insert(1, training.unit('2;Swimming;1:15:00')) c.insert(3, training.unit('3.5;Running;25:00')) c.insert(3, training.unit(';Strength;25:00')) c.insert(6, training.unit('3;Swimming;02:00:00')) p.append(c) p.append(c) p.appendChildDescription('Test 5km Time trial') p.append(RegenerationGeneral()) p.append(c) c.scale(1.2) p.append(c) p.append(RegenerationGeneral()) return p
def BuildupBicycleSpeed(): p = training.period('Buildup Bicycle Speed') p.appendDescription('Speed Trime Trial') c = training.cycle('Focus Bicycle Speed') c.insert(1, training.unit('30;BI;1:15:00')) c.insert(3, training.unit('3.5;RR;25:00')) c.insert(3, training.unit(';FB;25:00')) c.insert(6, training.unit('40;BI;02:00:00')) p.append(c) p.append(c) p.appendChildDescription('Test 5km Trime Trial') p.append(RegenerationGeneral()) p.append(c) p.append(c) p.appendChildDescription('Test 5km Trime Trial') p.append(RegenerationGeneral()) return p
def BasicsRunning(): p = training.period('Specific Basics Running') p.appendDescription('Change of Focus') c = training.cycle('Focus Running') c.insert(2, training.unit('3.5;Running;25:00')) c.insert(3, training.unit(';Strength;25:00')) c.insert(4, training.unit('3.5;Running;02:30:00')) c.insert(6, training.unit('30;Bicycle;1:25:00')) p.append(c) p.append(c) p.appendChildDescription('Test 1000m speed run') p.append(RegenerationGeneral()) c.scale(1.2) p.append(c) p.append(c) p.appendChildDescription('Test 1000m speed run') p.append(RegenerationGeneral()) return p
def main(args=None): options = parse_args(args) s = training.period('Report ' + datetime.date.today().isoformat()) s.parseFile(options.infile) training.max_length_type = 1 #training.unit_distance = 'mi' try: if options.type == "xml": # TODO: generic XML output pass elif options.type == "sqlite": # TODO: sqlite output pass elif options.type == "json": # TODO: JSON output pass elif options.type == "csv": print(s.toCSV(), file=options.output) elif options.type == "html": print(s.toHtmlFile(), file=options.output) elif options.type == "ics": print(s.toVCalendar(), file=options.output) elif options.type == "svg": print(s.toSVGDiagram(), file=options.output) elif options.type == "mm": print(s.toFreeMind(), file=options.output) else: print(s.stat(), file=options.output) finally: try: options.output.close() except IOError: pass