Can you make this word doc into jcp
python3 -c " from docx import Document doc = Document('/tmp/workspace/attachments/196b363f-d7bd-4286-8f46-e7129bf8b364/output.docx') for p in doc.paragraphs: style = p.style.name if p.style else 'None' if p.text.strip(): print(f'[{style}] {p.text}') "
ls -la /tmp/workspace/attachments/ 2>/dev/null || echo "No attachments dir"; find /tmp/workspace/attachments -name "*.docx" 2>/dev/null || echo "No docx found"
find /tmp -name "*.docx" 2>/dev/null; ls /tmp/ 2>/dev/null
output.docx is not accessible at the expected path. This can happen when the upload fails or the session restarted.output.docx file? Once I can read its contents, I'll convert it into a Journal Club Presentation (.pptx) right away.ls -la /tmp/workspace/attachments/196b363f-d7bd-4286-8f46-e7129bf8b364/ 2>/dev/null && echo "EXISTS" || echo "NOT FOUND"
python3 -c " from docx import Document doc = Document('/tmp/workspace/attachments/196b363f-d7bd-4286-8f46-e7129bf8b364/output.docx') for p in doc.paragraphs: style = p.style.name if p.style else 'None' if p.text.strip(): print(f'[{style}] {p.text}') "
mkdir -p /tmp/workspace/jcp && cat > /tmp/workspace/jcp/build_pptx.py << 'PYEOF' from pptx import Presentation from pptx.util import Inches, Pt, Emu from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from io import BytesIO # Color palette -- academic/medical theme DARK_BLUE = RGBColor(0x1A, 0x37, 0x6C) # deep navy MED_BLUE = RGBColor(0x27, 0x5C, 0xA2) # accent blue LIGHT_BLUE = RGBColor(0xD6, 0xE4, 0xF0) # slide background tint TEAL = RGBColor(0x00, 0x89, 0x8A) # highlight / table header WHITE = RGBColor(0xFF, 0xFF, 0xFF) DARK_GRAY = RGBColor(0x33, 0x33, 0x33) LIGHT_GRAY = RGBColor(0xF2, 0xF2, 0xF2) GOLD = RGBColor(0xE8, 0xA0, 0x00) GREEN = RGBColor(0x1E, 0x7E, 0x34) RED = RGBColor(0xC0, 0x39, 0x2B) prs = Presentation() prs.slide_width = Inches(13.333) prs.slide_height = Inches(7.5) blank = prs.slide_layouts[6] # fully blank # ─── Helpers ──────────────────────────────────────────────────────────────── def add_rect(slide, x, y, w, h, fill_rgb, alpha=None): from pptx.oxml.ns import qn shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h)) shape.line.fill.background() shape.fill.solid() shape.fill.fore_color.rgb = fill_rgb return shape def add_tb(slide, x, y, w, h, text, size, bold=False, color=DARK_GRAY, align=PP_ALIGN.LEFT, italic=False, wrap=True): tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)) tf = tb.text_frame tf.word_wrap = wrap tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0 p = tf.paragraphs[0] p.alignment = align r = p.add_run() r.text = text r.font.name = "Calibri" r.font.size = Pt(size) r.font.bold = bold r.font.italic = italic r.font.color.rgb = color return tb def add_bullet_tb(slide, x, y, w, h, items, size=14, color=DARK_GRAY, bold_first=False, line_spacing=1.15): from pptx.util import Pt as PT from pptx.oxml.ns import qn import lxml.etree as etree tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)) tf = tb.text_frame tf.word_wrap = True tf.margin_left = Inches(0.05) tf.margin_right = 0 tf.margin_top = 0 tf.margin_bottom = 0 for i, item in enumerate(items): if i == 0: p = tf.paragraphs[0] else: p = tf.add_paragraph() p.alignment = PP_ALIGN.LEFT # bullet pPr = p._pPr if p._pPr is not None else p._p.get_or_add_pPr() buChar = etree.SubElement(pPr, qn('a:buChar')) buChar.set('char', '▸') buFont = etree.SubElement(pPr, qn('a:buFont')) buFont.set('typeface', 'Calibri') buSzPct = etree.SubElement(pPr, qn('a:buSzPct')) buSzPct.set('val', '90000') r = p.add_run() r.text = item r.font.name = "Calibri" r.font.size = PT(size) r.font.bold = bold_first and i == 0 r.font.color.rgb = color return tb def add_slide_header(slide, title, subtitle=None, header_h=1.2): # full-width navy bar add_rect(slide, 0, 0, 13.333, header_h, DARK_BLUE) # thin gold accent line under header add_rect(slide, 0, header_h, 13.333, 0.07, GOLD) # title text add_tb(slide, 0.3, 0.08, 12.5, header_h - 0.16, title, 28, bold=True, color=WHITE, align=PP_ALIGN.LEFT) if subtitle: add_tb(slide, 0.3, 0.68, 12.5, 0.5, subtitle, 14, color=LIGHT_BLUE, align=PP_ALIGN.LEFT) def bg(slide): add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_GRAY) # ─── SLIDE 1: Title Slide ──────────────────────────────────────────────────── s1 = prs.slides.add_slide(blank) add_rect(s1, 0, 0, 13.333, 7.5, DARK_BLUE) add_rect(s1, 0, 2.9, 13.333, 0.12, GOLD) add_rect(s1, 0, 5.5, 13.333, 2.0, MED_BLUE) add_tb(s1, 0.5, 0.4, 12.3, 0.8, "JOURNAL CLUB PRESENTATION", 18, bold=True, color=GOLD, align=PP_ALIGN.CENTER) add_tb(s1, 0.5, 1.1, 12.3, 1.6, "Comparison of Mood, Resilience & Self-Confidence\nof Athlete vs. Non-Athlete Students (14–18 years) in Delhi NCR", 30, bold=True, color=WHITE, align=PP_ALIGN.CENTER) add_tb(s1, 0.5, 3.1, 12.3, 0.6, "Arya S, Gupta S, Devi YS & Patra BN (2024)", 18, italic=True, color=LIGHT_BLUE, align=PP_ALIGN.CENTER) add_tb(s1, 0.5, 3.7, 12.3, 0.5, "Journal of Sports Science and Nutrition | 2024; 5(2): 172–178", 16, color=LIGHT_BLUE, align=PP_ALIGN.CENTER) add_tb(s1, 0.5, 5.65, 12.3, 0.55, "Presented at Journal Club", 15, bold=True, color=WHITE, align=PP_ALIGN.CENTER) add_tb(s1, 0.5, 6.2, 12.3, 0.45, "AIIMS New Delhi | 2026", 13, color=LIGHT_BLUE, align=PP_ALIGN.CENTER) # ─── SLIDE 2: Background & Introduction ───────────────────────────────────── s2 = prs.slides.add_slide(blank) bg(s2) add_slide_header(s2, "1. Introduction & Background") add_bullet_tb(s2, 0.4, 1.45, 8.0, 5.5, [ "India has 434+ million children & adolescents — largest such population worldwide", "Physical activity = any bodily movement by skeletal muscles requiring energy expenditure (WHO)", "Sport from school age boosts physical & mental well-being; improves serotonin, endorphins & norepinephrine", "Adolescence is a critical developmental stage — prone to mood swings, behavioral changes & mental health issues", "Exercise reduces cortisol levels and anxiety symptoms; improves self-image, social skills & cognitive function", "Problem: Insufficient & inconsistent data on physical activity vs. mood, resilience & confidence in Indian adolescents, despite increasing burden of mental disorders", ], size=15, color=DARK_GRAY) # side box add_rect(s2, 8.7, 1.45, 4.3, 5.3, MED_BLUE) add_tb(s2, 8.85, 1.55, 4.0, 0.5, "Why This Matters", 15, bold=True, color=GOLD) add_bullet_tb(s2, 8.85, 2.1, 3.9, 4.5, [ "Rising prevalence of psychiatric disorders in Indian youth", "Exercise is low-cost, non-pharmacological intervention", "Evidence from Delhi NCR secondary school students", "Informs nursing & public health practice", ], size=13, color=WHITE) # ─── SLIDE 3: Objectives ──────────────────────────────────────────────────── s3 = prs.slides.add_slide(blank) bg(s3) add_slide_header(s3, "2. Objectives") add_tb(s3, 0.4, 1.45, 12.5, 0.6, "Primary Objective", 18, bold=True, color=DARK_BLUE) add_rect(s3, 0.4, 2.05, 12.3, 1.0, MED_BLUE) add_tb(s3, 0.55, 2.12, 12.0, 0.85, "To compare the status of MOOD, RESILIENCE, and SELF-CONFIDENCE of\nathlete and non-athlete students (14–18 years) in Delhi NCR", 17, bold=True, color=WHITE, align=PP_ALIGN.CENTER) add_tb(s3, 0.4, 3.3, 12.5, 0.5, "Variables Studied", 17, bold=True, color=DARK_BLUE) # 3-column boxes cols = [ ("MOOD", "Brunel Mood Scale\n(BRUMS)\n24 items", "Anger · Confusion · Depression\nFatigue · Tension · Vigor"), ("RESILIENCE", "Adolescent Resilience Scale\n(ARS)\n21 items", "Novelty Seeking\nEmotional Regulation\nPositive Future Orientation"), ("SELF-CONFIDENCE", "Self Confidence Inventory\n(SCI)\n56 items", "Overall self-confidence score"), ] col_x = [0.4, 4.6, 8.8] for i, (title, tool, domains) in enumerate(cols): cx = col_x[i] add_rect(s3, cx, 3.85, 3.9, 0.55, TEAL) add_tb(s3, cx+0.05, 3.88, 3.8, 0.5, title, 16, bold=True, color=WHITE, align=PP_ALIGN.CENTER) add_rect(s3, cx, 4.4, 3.9, 2.85, WHITE) add_tb(s3, cx+0.1, 4.5, 3.7, 1.1, tool, 13, color=MED_BLUE, align=PP_ALIGN.CENTER) add_tb(s3, cx+0.1, 5.55, 3.7, 1.6, domains, 12, italic=True, color=DARK_GRAY, align=PP_ALIGN.CENTER) # ─── SLIDE 4: Methodology ─────────────────────────────────────────────────── s4 = prs.slides.add_slide(blank) bg(s4) add_slide_header(s4, "3. Methodology") rows = [ ("Study Design", "Cross-sectional Comparative"), ("Setting", "Kendriya Vidyalaya Masjid Moth, Delhi NCR (9th & 11th grade)"), ("Total Enrolled", "205 students met inclusion criteria"), ("Final Sample", "164 students (82 Athletes + 82 Non-Athletes — case matched)"), ("Age Group", "14–18 years"), ("Sampling Method", "Purposive Sampling + Case Matching"), ("Data Collection", "Google Form (self-administered, online)"), ("Exclusion Criteria","Not willing to participate OR outside 14–18 years age range"), ("Statistical Tool", "STATA 14.0 (StataCorp, Texas, USA)"), ("Statistical Tests", "Paired t-test (resilience) & Wilcoxon Signed Rank Test (mood, confidence)"), ("Significance", "p ≤ 0.05"), ("Ethics", "Institutional Ethics Committee, AIIMS New Delhi"), ("Tool Permissions", "Copyright permission obtained from ARS, BRUMS & SCI authors"), ] row_h = 0.36 table_top = 1.4 for idx, (label, val) in enumerate(rows): y = table_top + idx * row_h bg_col = WHITE if idx % 2 == 0 else LIGHT_BLUE add_rect(s4, 0.3, y, 3.5, row_h, DARK_BLUE if idx == 0 else bg_col) add_rect(s4, 3.8, y, 9.2, row_h, DARK_BLUE if idx == 0 else bg_col) lbl_color = WHITE if idx == 0 else DARK_BLUE val_color = WHITE if idx == 0 else DARK_GRAY add_tb(s4, 0.35, y+0.02, 3.4, row_h-0.04, label, 11, bold=True, color=lbl_color) add_tb(s4, 3.85, y+0.02, 9.1, row_h-0.04, val, 11, color=val_color) # ─── SLIDE 5: Demographic Profile ─────────────────────────────────────────── s5 = prs.slides.add_slide(blank) bg(s5) add_slide_header(s5, "4. Demographic Profile of Participants") demo_rows = [ ("Variable", "Overall (n=164)", "Athlete (n=82)", "Non-Athlete (n=82)"), ("Mean Age (years)", "14.90 ± 1.094", "14.90 ± 1.096", "14.89 ± 1.100"), ("Mean Weight (kg)", "52.07 ± 10.78", "52.00 ± 10.625", "52.15 ± 10.974"), ("Mean Height (cm)", "159.81 ± 11.62", "159.93 ± 11.885", "159.70 ± 11.424"), ("Male", "125 (76.2%)", "81 (98.8%)", "44 (53.7%)"), ("Female", "39 (23.8%)", "1 (1.2%)", "38 (46.3%)"), ("Nuclear family", "—", "50 (61%)", "47 (57.3%)"), ("9th Grade", "—", "62.2%", "46.3%"), ("11th Grade", "—", "37.8%", "53.7%"), ("Father: Govt. employee", "—", "44 (53.7%)", "—"), ("Mother: Housewife", "—", "65 (79.3%)", "64 (78%)"), ("Income > Rs. 32,050/mo", "—", "46 (56.1%)", "55 (67.1%)"), ] row_h2 = 0.43 table_top2 = 1.38 col_widths = [3.5, 3.0, 3.0, 3.1] col_xs = [0.3, 3.8, 6.8, 9.8] for ri, row in enumerate(demo_rows): y = table_top2 + ri * row_h2 for ci, cell in enumerate(row): is_header = (ri == 0) bg_col = TEAL if is_header else (LIGHT_BLUE if ri % 2 == 0 else WHITE) fc = WHITE if is_header else DARK_GRAY add_rect(s5, col_xs[ci], y, col_widths[ci] - 0.05, row_h2 - 0.03, bg_col) add_tb(s5, col_xs[ci]+0.08, y+0.04, col_widths[ci]-0.2, row_h2-0.1, cell, 11, bold=is_header, color=fc, align=PP_ALIGN.CENTER) # ─── SLIDE 6a: Results – Mood (BRUMS) ─────────────────────────────────────── s6 = prs.slides.add_slide(blank) bg(s6) add_slide_header(s6, "5a. Results – Mood (Brunel Mood Scale, BRUMS)") mood_rows = [ ("Mood Subscale", "Athlete Mean ± SD", "Non-Athlete Mean ± SD", "p-value", "Significant?"), ("Anger", "4.10 ± 3.69", "3.85 ± 3.41", "0.5130", "No"), ("Confusion", "4.39 ± 3.38", "5.05 ± 3.41", "0.1996", "No"), ("Depression", "3.80 ± 3.40", "3.05 ± 2.90", "0.1578", "No"), ("Fatigue", "4.50 ± 3.98", "—", "0.9944", "No"), ("Tension", "4.41 ± 3.41", "5.50 ± 3.67", "0.8097", "No"), ("VIGOR ⭐", "9.89 ± 3.79", "8.77 ± 4.10", "0.0037", "YES ✓"), ] col_ws = [3.2, 2.8, 2.8, 1.8, 2.2] col_xs2 = [0.3, 3.5, 6.3, 9.1, 10.9] row_h3 = 0.53 table_top3 = 1.4 for ri, row in enumerate(mood_rows): y = table_top3 + ri * row_h3 for ci, cell in enumerate(row): is_header = ri == 0 is_vigor = ri == 6 if is_header: bg_col = TEAL; fc = WHITE elif is_vigor: bg_col = GREEN; fc = WHITE else: bg_col = LIGHT_BLUE if ri % 2 == 0 else WHITE; fc = DARK_GRAY add_rect(s6, col_xs2[ci], y, col_ws[ci]-0.04, row_h3-0.04, bg_col) add_tb(s6, col_xs2[ci]+0.06, y+0.06, col_ws[ci]-0.15, row_h3-0.12, cell, 12 if not is_header else 12, bold=is_header or is_vigor, color=fc, align=PP_ALIGN.CENTER) add_tb(s6, 0.3, 6.7, 12.5, 0.5, "Wilcoxon Signed Rank Test | VIGOR is the ONLY subscale with a statistically significant difference (p = 0.0037) — Athletes scored significantly higher", 12, italic=True, color=DARK_BLUE) # ─── SLIDE 7: Results – Resilience (ARS) ──────────────────────────────────── s7 = prs.slides.add_slide(blank) bg(s7) add_slide_header(s7, "5b. Results – Resilience (Adolescent Resilience Scale, ARS)") ars_rows = [ ("Resilience Subscale", "Athlete Mean ± SD", "Non-Athlete Mean ± SD", "p-value", "Significant?"), ("Novelty Seeking", "—", "3.56 ± 0.61", "—", "No"), ("Emotional Regulation", "3.25 ± 0.60", "3.16 ± 0.54", "0.7635", "No"), ("Positive Future Orient.","3.87 ± 0.69", "4.04 ± 0.72", "0.0794", "No"), ("TOTAL", "3.52 ± 0.37", "3.51 ± 0.44", "0.3263", "No"), ] col_ws2 = [3.2, 2.8, 2.8, 1.8, 2.2] col_xs3 = [0.3, 3.5, 6.3, 9.1, 10.9] row_h4 = 0.62 table_top4 = 1.42 for ri, row in enumerate(ars_rows): y = table_top4 + ri * row_h4 for ci, cell in enumerate(row): is_header = ri == 0 is_total = ri == 4 bg_col = TEAL if is_header else (MED_BLUE if is_total else (LIGHT_BLUE if ri%2==0 else WHITE)) fc = WHITE if is_header or is_total else DARK_GRAY add_rect(s7, col_xs3[ci], y, col_ws2[ci]-0.04, row_h4-0.04, bg_col) add_tb(s7, col_xs3[ci]+0.06, y+0.06, col_ws2[ci]-0.15, row_h4-0.12, cell, 13, bold=is_header or is_total, color=fc, align=PP_ALIGN.CENTER) # finding box add_rect(s7, 0.3, 5.0, 12.5, 1.0, LIGHT_BLUE) add_rect(s7, 0.3, 5.0, 0.12, 1.0, TEAL) add_tb(s7, 0.55, 5.1, 12.1, 0.8, "Key Finding: No statistically significant difference in overall resilience between athletes and non-athletes (p > 0.05).\nNon-athletes may develop equal resilience through other life challenges (academic pressure, family environment).", 14, color=DARK_BLUE) # ─── SLIDE 8: Results – Self-Confidence (SCI) ─────────────────────────────── s8 = prs.slides.add_slide(blank) bg(s8) add_slide_header(s8, "5c. Results – Self-Confidence (Self Confidence Inventory, SCI)") # split layout add_rect(s8, 0.3, 1.42, 7.8, 4.2, WHITE) add_rect(s8, 0.3, 1.42, 7.8, 0.55, TEAL) for ci, hdr in enumerate(["SCI Domain", "Athlete", "Non-Athlete", "p-value"]): xs = [0.35, 3.0, 4.7, 6.4] ws = [2.6, 1.65, 1.65, 1.65] add_tb(s8, xs[ci], 1.47, ws[ci], 0.45, hdr, 13, bold=True, color=WHITE, align=PP_ALIGN.CENTER) sci_rows = [ ("Total Score", "—", "0.11 ± 0.98", "—"), ] add_tb(s8, 0.35, 2.1, 7.5, 0.5, "No statistically significant difference in self-confidence (p > 0.05)", 14, color=DARK_GRAY) # finding boxes right side findings = [ ("No significant difference in\nSelf-Confidence", "Family environment & social support may increase confidence equally for both groups."), ("Consistent with\nBirgisdottir et al.", "Not contradicted by Martale et al."), ] for i, (title, body) in enumerate(findings): fy = 1.5 + i * 2.2 add_rect(s8, 8.4, fy, 4.6, 2.0, MED_BLUE) add_tb(s8, 8.55, fy+0.1, 4.3, 0.7, title, 14, bold=True, color=GOLD) add_tb(s8, 8.55, fy+0.8, 4.3, 1.1, body, 13, color=WHITE, wrap=True) add_rect(s8, 0.3, 5.85, 7.8, 1.2, LIGHT_BLUE) add_rect(s8, 0.3, 5.85, 0.12, 1.2, TEAL) add_tb(s8, 0.55, 5.95, 7.5, 1.0, "Key Finding: No statistically significant difference in self-confidence.\nBoth athletes & non-athletes showed comparable levels of self-confidence.", 14, color=DARK_BLUE) # ─── SLIDE 9: Discussion ──────────────────────────────────────────────────── s9 = prs.slides.add_slide(blank) bg(s9) add_slide_header(s9, "6. Discussion") add_tb(s9, 0.4, 1.4, 12.5, 0.45, "Vigor (Mood) — Significant", 16, bold=True, color=TEAL) add_bullet_tb(s9, 0.5, 1.85, 6.1, 1.8, [ "Consistent with: Legey et al., Brandt et al., Darvishi et al., Hoffman & Hoffman, Valenzuela et al., Terry et al.", "Athletes scored higher in this positive mood state — reflecting exercise-induced energy benefit", ], size=13, color=DARK_GRAY) add_tb(s9, 0.4, 3.7, 12.5, 0.45, "Depression & Anger — Higher in Athletes", 16, bold=True, color=RED) add_bullet_tb(s9, 0.5, 4.15, 6.0, 2.0, [ "COVID-19 home confinement & withdrawal of training — consistent with Graupensperger et al. (2020) & Stanton et al. (2021)", "Athletes may have learned anger as part of their competitive role (Ziaee et al.; Maxwell et al.)", "Pandemic impact on athlete–coach/team relationships", ], size=13, color=DARK_GRAY) # right col add_tb(s9, 7.0, 1.4, 6.0, 0.45, "Resilience — No Significant Difference", 16, bold=True, color=DARK_BLUE) add_bullet_tb(s9, 7.1, 1.85, 5.8, 1.8, [ "Athletes can face equal non-sporting stresses: academics, family", "Consistent with Suchitra Devi et al.", "In line with Asady et al.", ], size=13, color=DARK_GRAY) add_tb(s9, 7.0, 3.7, 6.0, 0.45, "Self-Confidence — No Significant Difference", 16, bold=True, color=DARK_BLUE) add_bullet_tb(s9, 7.1, 4.15, 5.8, 2.0, [ "Family environment & social support may increase confidence equally", "Consistent with Birgisdottir et al.", "Not contradicted by Martale et al.", ], size=13, color=DARK_GRAY) add_rect(s9, 0.3, 6.55, 12.5, 0.75, DARK_BLUE) add_tb(s9, 0.5, 6.62, 12.2, 0.6, "COVID-19 confounding: Study conducted during pandemic — schools closed, training halted. Differences between groups may have been obscured.", 13, color=GOLD, wrap=True) # ─── SLIDE 10: Strengths & Limitations ────────────────────────────────────── s10 = prs.slides.add_slide(blank) bg(s10) add_slide_header(s10, "7. Strengths & Limitations") add_rect(s10, 0.3, 1.38, 6.1, 5.7, WHITE) add_rect(s10, 0.3, 1.38, 6.1, 0.55, GREEN) add_tb(s10, 0.45, 1.42, 5.8, 0.47, "✔ Strengths", 17, bold=True, color=WHITE) add_bullet_tb(s10, 0.45, 2.05, 5.7, 4.9, [ "Standardized validated instruments (BRUMS, ARS, SCI)", "Adequate sample (n=164) with case matching", "AIIMS IEC ethical approval", "Correct statistical techniques (paired t-test, Wilcoxon)", "Copyright permissions obtained for all 3 tools", "Cross-sectional design suitable for the objective", ], size=14, color=DARK_GRAY) add_rect(s10, 6.9, 1.38, 6.1, 5.7, WHITE) add_rect(s10, 6.9, 1.38, 6.1, 0.55, RED) add_tb(s10, 7.05, 1.42, 5.8, 0.47, "✖ Limitations", 17, bold=True, color=WHITE) add_bullet_tb(s10, 7.05, 2.05, 5.7, 4.9, [ "Conducted during COVID-19 — may not reflect normal conditions", "Single school — limited generalizability", "Athlete group predominantly male (98.8%) — gender imbalance", "Online data collection — response bias possible", "Cross-sectional design — no follow-up", "Competitive athletes vs. recreational players not separated", ], size=14, color=DARK_GRAY) # ─── SLIDE 11: Implications & Recommendations ─────────────────────────────── s11 = prs.slides.add_slide(blank) bg(s11) add_slide_header(s11, "8. Implications & Recommendations") # 3 boxes: Clinical, School Policy, Research imp = [ ("🏥 Clinical / Nursing", MED_BLUE, [ "Screen adolescents for depressive disorders", "Encourage exercise as non-pharmacological therapy for psychological well-being", "Apply research findings to nursing care — monitor emotional state & stress", "Educate families: exercise improves mental health without harming academics", ]), ("🏫 School Policy", TEAL, [ "Compulsory exercise programs in all schools", "Periodically monitor emotional states & stress levels of students", "Academic recognition (marks/credits) for sports participation", "IEC activities to encourage female participation in sports", ]), ("🔬 Research", DARK_BLUE, [ "Post-pandemic comparative studies — results may differ", "Longitudinal studies needed", "Balanced gender groups required", "Larger multi-school samples for generalizability", ]), ] box_x = [0.3, 4.6, 8.9] for i, (title, col, pts) in enumerate(imp): bx = box_x[i] add_rect(s11, bx, 1.38, 4.0, 0.6, col) add_tb(s11, bx+0.1, 1.42, 3.8, 0.52, title, 15, bold=True, color=WHITE) add_rect(s11, bx, 1.98, 4.0, 5.1, WHITE) add_bullet_tb(s11, bx+0.1, 2.1, 3.75, 4.8, pts, size=13, color=DARK_GRAY) # ─── SLIDE 12: Conclusion ─────────────────────────────────────────────────── s12 = prs.slides.add_slide(blank) bg(s12) add_slide_header(s12, "9. Conclusion") conclusions = [ ("No overall mood differences", "Athlete and non-athlete students showed comparable mood scores across 5 of 6 subscales."), ("VIGOR — the one exception", "Athletes scored significantly HIGHER in Vigor (p=0.0037) — the only POSITIVE mood subscale."), ("Resilience: Equal across groups", "No statistically significant difference in resilience — both groups face comparable life stressors."), ("Self-Confidence: Equal across groups", "Family & social support appears to buffer confidence equally in both groups."), ("COVID-19 confounding factor", "Study conducted during pandemic — training halted, team contact lost. Results may not reflect pre/post-pandemic norms."), ] cy = 1.42 for i, (heading, body) in enumerate(conclusions): add_rect(s12, 0.3, cy, 0.25, 0.85, GOLD) add_rect(s12, 0.6, cy, 12.3, 0.85, WHITE if i%2==0 else LIGHT_BLUE) add_tb(s12, 0.75, cy+0.03, 12.0, 0.4, heading, 14, bold=True, color=DARK_BLUE) add_tb(s12, 0.75, cy+0.42, 12.0, 0.38, body, 12, color=DARK_GRAY) cy += 0.95 add_rect(s12, 0.3, cy+0.1, 12.3, 0.75, DARK_BLUE) add_tb(s12, 0.5, cy+0.18, 12.0, 0.6, "Take-home message: Exercise builds VIGOR. Ensure sport is part of every adolescent's education — without sacrificing wellbeing.", 15, bold=True, color=GOLD, align=PP_ALIGN.CENTER) # ─── SLIDE 13: Reference ───────────────────────────────────────────────────── s13 = prs.slides.add_slide(blank) bg(s13) add_slide_header(s13, "10. Reference (APA 7th Edition)", header_h=1.1) add_rect(s13, 0.3, 1.3, 12.5, 2.2, WHITE) add_rect(s13, 0.3, 1.3, 0.15, 2.2, TEAL) add_tb(s13, 0.6, 1.4, 12.1, 2.0, "Arya, S., Gupta, S., Devi, Y. S., & Patra, B. N. (2024). A comparative study of status of mood, " "resilience, and confidence of athlete vs. non-athlete students (between 14–18 years) of higher " "secondary school, in Delhi NCR. Journal of Sports Science and Nutrition, 5(2), 172–178.\n" "https://doi.org/10.33545/27077012.2024.v5.i2c.289", 14, color=DARK_GRAY, wrap=True) add_tb(s13, 0.3, 3.75, 12.5, 0.45, "Key Abbreviations", 16, bold=True, color=DARK_BLUE) abbr = [ ("BRUMS", "Brunel Mood Scale"), ("ARS", "Adolescent Resilience Scale"), ("SCI", "Self Confidence Inventory"), ("WHO", "World Health Organization"), ("IEC", "Institutional Ethics Committee"), ("AIIMS", "All India Institute of Medical Sciences"), ("SD", "Standard Deviation"), ("p", "Probability value (significant ≤ 0.05)"), ("NS", "Not Significant"), ("KV", "Kendriya Vidyalaya (Central Govt School)"), ("NCR", "National Capital Region"), ] cols_n = 3 col_w = 4.2 for idx, (abbr_t, full_t) in enumerate(abbr): row = idx // cols_n col = idx % cols_n ax = 0.3 + col * col_w ay = 4.3 + row * 0.5 add_rect(s13, ax, ay, 1.1, 0.42, TEAL) add_tb(s13, ax+0.06, ay+0.04, 1.0, 0.34, abbr_t, 11, bold=True, color=WHITE, align=PP_ALIGN.CENTER) add_tb(s13, ax+1.2, ay+0.04, 2.8, 0.34, full_t, 11, color=DARK_GRAY) # ─── Save ─────────────────────────────────────────────────────────────────── buf = BytesIO() prs.save(buf) with open("/tmp/workspace/jcp/Journal_Club_Presentation.pptx", "wb") as f: f.write(buf.getvalue()) print("SAVED OK") PYEOF python3 /tmp/workspace/jcp/build_pptx.py
ls -lh /tmp/workspace/jcp/Journal_Club_Presentation.pptx
Journal Club Presentation
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide — paper citation, journal, authors |
| 2 | Introduction & Background — with a "Why This Matters" sidebar |
| 3 | Objectives — primary aim + 3-column variable summary (Mood/Resilience/Confidence) |
| 4 | Methodology — full study design table (setting, sample, tools, stats, ethics) |
| 5 | Demographic Profile — colour-coded comparison table (n=164) |
| 6 | Results: BRUMS (Mood) — table with VIGOR row highlighted green as the only significant finding |
| 7 | Results: ARS (Resilience) — table with key finding callout box |
| 8 | Results: SCI (Self-Confidence) — with discussion inset boxes |
| 9 | Discussion — color-coded by finding, COVID-19 confounding banner at bottom |
| 10 | Strengths & Limitations — side-by-side green/red panels |
| 11 | Implications & Recommendations — Clinical, School Policy, Research columns |
| 12 | Conclusion — 5 key takeaways + bold take-home message |
| 13 | Reference + Abbreviations — APA 7th edition citation, glossary table |