Last updated: 2026-05-21 15:27:03 UTC (1w ago)

strength training pdf

from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet

doc = SimpleDocTemplate("/mnt/data/fixed_progression_training_log.pdf")
styles = getSampleStyleSheet()

elements = []

# Fixed barbell progression
front_heavy = [92.5 + (i*2.5) for i in range(8)]
front_light = [70 for _ in range(8)]
front_medium = [82.5 + (i*2.5) for i in range(8)]

bench_heavy = [72.5 + (i*2.5) for i in range(8)]
bench_medium = [65 + (i*2.5) for i in range(8)]

press_light = [47.5 + (i*2.5) for i in range(8)]

deadlift_heavy = [130 + (i*5) for i in range(8)]
deadlift_light = [100 + (i*5) for i in range(8)]

# KB fixed plan
kb_plan = {
    1: ("32 kg 10x10", "20 kg 5x1/side", "24 kg EMOM 10 min"),
    2: ("32 kg 10x10", "20 kg 5x1/side", "24 kg EMOM 10 min"),
    3: ("32 kg 12x10", "24 kg 4x1/side", "16-20 kg C&P 5x5"),
    4: ("32 kg 12x10", "24 kg 4x1/side", "16-20 kg C&P 5x5"),
    5: ("32 kg 8x10 + 48 kg 5x5", "24 kg 5x1/side", "32 kg EMOM 12 min"),
    6: ("32 kg 8x10 + 48 kg 5x5", "24 kg 5x1/side", "32 kg EMOM 12 min"),
    7: ("48 kg 10x5 + 32 kg 5x10", "24 kg 3x1/side", "16 kg C&P let"),
    8: ("24 kg 5x10", "16-20 kg 3x1/side", "Fri / let")
}

for week in range(8):
    w = week + 1
    
    elements.append(Paragraph(f"<b>Uge {w}</b>", styles['Title']))
    elements.append(Spacer(1,10))
    
    # Sunday
    elements.append(Paragraph("<b>Søndag – Heavy</b>", styles['Heading2']))
    data = [
        ["Øvelse", "Plan", "Vægt", "✔ / Noter"],
        ["Front squat", "5x3", f"{front_heavy[week]} kg", ""],
        ["Incline bænk", "5x3", f"{bench_heavy[week]} kg", ""],
        ["Dødløft", "3x3", f"{deadlift_heavy[week]} kg", ""],
    ]
    table = Table(data, colWidths=[140,90,90,140])
    table.setStyle(TableStyle([
        ('GRID',(0,0),(-1,-1),0.5,colors.black),
        ('BACKGROUND',(0,0),(-1,0),colors.lightgrey)
    ]))
    elements.append(table)
    elements.append(Spacer(1,12))
    
    # Monday KB
    elements.append(Paragraph("<b>Mandag – KB</b>", styles['Heading2']))
    data = [
        ["Øvelse", "Plan", "✔ / Noter"],
        ["Swings", kb_plan[w][0], ""],
        ["Get-ups", kb_plan[w][1], ""],
    ]
    table = Table(data, colWidths=[180,180,100])
    table.setStyle(TableStyle([
        ('GRID',(0,0),(-1,-1),0.5,colors.black),
        ('BACKGROUND',(0,0),(-1,0),colors.lightgrey)
    ]))
    elements.append(table)
    elements.append(Spacer(1,12))
    
    # Tuesday
    elements.append(Paragraph("<b>Tirsdag – Light</b>", styles['Heading2']))
    data = [
        ["Øvelse", "Plan", "Vægt", "✔ / Noter"],
        ["Front squat", "3x5", f"{front_light[week]} kg", ""],
        ["Press", "3x5", f"{press_light[week]} kg", ""],
    ]
    table = Table(data, colWidths=[140,90,90,140])
    table.setStyle(TableStyle([
        ('GRID',(0,0),(-1,-1),0.5,colors.black),
        ('BACKGROUND',(0,0),(-1,0),colors.lightgrey)
    ]))
    elements.append(table)
    elements.append(Spacer(1,12))
    
    # Wednesday KB
    elements.append(Paragraph("<b>Onsdag – KB (let)</b>", styles['Heading2']))
    data = [
        ["Øvelse", "Plan", "✔ / Noter"],
        ["Swings", "24 kg recovery swings", ""],
        ["Get-ups", "16-20 kg let", ""],
    ]
    table = Table(data, colWidths=[180,180,100])
    table.setStyle(TableStyle([
        ('GRID',(0,0),(-1,-1),0.5,colors.black),
        ('BACKGROUND',(0,0),(-1,0),colors.lightgrey)
    ]))
    elements.append(table)
    elements.append(Spacer(1,12))
    
    # Thursday
    elements.append(Paragraph("<b>Torsdag – Medium</b>", styles['Heading2']))
    data = [
        ["Øvelse", "Plan", "Vægt", "✔ / Noter"],
        ["Front squat", "4x5", f"{front_medium[week]} kg", ""],
        ["Incline bænk", "4x5", f"{bench_medium[week]} kg", ""],
        ["Dødløft (let)", "3x5", f"{deadlift_light[week]} kg", ""],
    ]
    table = Table(data, colWidths=[140,90,90,140])
    table.setStyle(TableStyle([
        ('GRID',(0,0),(-1,-1),0.5,colors.black),
        ('BACKGROUND',(0,0),(-1,0),colors.lightgrey)
    ]))
    elements.append(table)
    elements.append(Spacer(1,12))
    
    # Friday KB
    elements.append(Paragraph("<b>Fredag – KB (valgfri)</b>", styles['Heading2']))
    data = [
        ["Øvelse", "Plan", "✔ / Noter"],
        ["KB arbejde", kb_plan[w][2], ""],
    ]
    table = Table(data, colWidths=[180,180,100])
    table.setStyle(TableStyle([
        ('GRID',(0,0),(-1,-1),0.5,colors.black),
        ('BACKGROUND',(0,0),(-1,0),colors.lightgrey)
    ]))
    elements.append(table)
    elements.append(Spacer(1,12))
    
    elements.append(PageBreak())

doc.build(elements)

"/mnt/data/fixed_progression_training_log.pdf"

wasd.dk - © 1998 - 2026