#!/usr/bin/env python3
"""Week 2 Generator - Silent E Pattern (Long Vowels)
Refactored: all layout logic moved to shared day generators (monday.py, tuesday.py, etc.).
This file contains only WEEK-SPECIFIC DATA.
AUDITED: May 2026 — All words verified for correct CVCe silent e pattern.
Removed: police (not CVCe), notice (wrong vowel), private (wrong vowel),
delicate (wrong vowel), separate (wrong vowel), complete (confusing schwa),
frozen (not CVCe pattern).
"""
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
from monday import generate_monday
from tuesday import generate_tuesday
from wednesday import generate_wednesday
from thursday import generate_thursday
from friday import generate_friday
from teacher_guide import generate_teacher_guide
from validate import validate_week
WEEK = os.path.expanduser("~/Home_School/2nd_Grade/English_Language_Arts/Week_02")
# =====================================================================
# WORD LIST - 12 words, all 6+ letters, Silent E pattern (AUDITED)
# =====================================================================
WORDS = [
("rescue", "long u (silent e)", "to save someone from danger"),
("invite", "long i (silent e)", "to ask someone to come to an event"),
("behave", "long a (silent e)", "to act in a proper or good way"),
("polite", "long i (silent e)", "kind and respectful in your behavior"),
("debate", "long a (silent e)", "to discuss an issue with different opinions"),
("strange", "long a (silent e)", "weird, unusual, or not normal"),
("create", "long a (silent e)", "to make or build something new"),
("devote", "long o (silent e)", "to give your time or attention to something"),
("relieve", "long e (silent e)", "to make something less bad or painful"),
("divide", "long i (silent e)", "to separate into smaller parts"),
("escape", "long a (silent e)", "to get away or break free from something"),
("remote", "long o (silent e)", "far away from other places"),
]
WORD_NAMES = [w[0] for w in WORDS]
# =====================================================================
# SHARED CONTENT DATA
# =====================================================================
PHONICS_LABEL = "Silent_E_Pattern"
LEARNING_TEXT = ("Silent E (also called 'Magic E') sits at the end of a word and makes the "
"vowel say its name. The E itself is silent -- it doesn't make a sound!")
GRAMMAR_NOTE = ("Grammar: A sentence is a group of words that makes a complete thought. "
"It starts with a capital letter and ends with punctuation.")
GRAMMAR_DEEP = ("A sentence is a group of words that makes a complete thought.<br>"
"Every sentence starts with a CAPITAL LETTER and ends with a PERIOD (.), "
"QUESTION MARK (?), or EXCLAMATION POINT (!).<br><br>"
"Example: <strong>The rescue team arrived.</strong> ✓<br>"
"Not a sentence: <strong>rescue team arrived.</strong> ×")
VOWEL_EXAMPLES_MONDAY = [
'Long <strong>a</strong> as in <em>strange</em> -- str-<span style="color:#FF7043;font-weight:bold;">a</span>-n-g-<span style="color:#FF7043;font-weight:bold;">e</span>',
'Long <strong>i</strong> as in <em>invite</em> -- <span style="color:#FF7043;font-weight:bold;">i</span>-n-v-i-t-<span style="color:#FF7043;font-weight:bold;">e</span>',
'Long <strong>u</strong> as in <em>rescue</em> -- r-e-s-c-u-<span style="color:#FF7043;font-weight:bold;">e</span>',
]
VOWEL_EXAMPLES_TUE = [
'Long <strong>a</strong> + silent e — <em>create</em>, <em>strange</em>, <em>escape</em>',
'Long <strong>e</strong> + silent e — <em>relieve</em>',
'Long <strong>i</strong> + silent e — <em>invite</em>, <em>polite</em>, <em>divide</em>',
'Long <strong>o</strong> + silent e — <em>remote</em>, <em>devote</em>',
'Long <strong>u</strong> + silent e — <em>rescue</em>',
]
SORT_LABELS = ["Long A (a_e)", "Long E (e_e)", "Long I (i_e)", "Long O (o_e)", "Long U (u_e)"]
SORT_TITLE = "Silent E Pattern Sort"
LEARNING_SKILLS_WED = [
"<strong>Reading</strong> — understand vocabulary in context",
"<strong>Synonyms & Antonyms</strong> — words with similar and opposite meanings",
"<strong>Word Webs</strong> — connecting related vocabulary",
]
REMINDER_TEXT = (
"Silent E (Magic E) Rules:<br><br>"
"1. The vowel before the silent E says its name.<br>"
"2. The E at the end is silent -- it doesn't make a sound.<br>"
"3. Look for the pattern: VOWEL + consonant + E<br><br>"
"Examples: cr<strong>a</strong>t<strong>e</strong>, <strong>i</strong>nvit<strong>e</strong>, r-e-s-c-u-<strong>e</strong>"
)
# =====================================================================
# MONDAY DATA
# =====================================================================
MONDAY_STORY = (
'I found a baby bird on the ground and helped <strong>rescue</strong> it. '
'My mom said I must <strong>behave</strong> and carry it gently in a box. '
'I <strong>invite</strong> my sister to help us care for the little bird. '
'Together we <strong>create</strong> a cozy nest inside a shoebox with soft towels. '
'My dad says he will <strong>devote</strong> time every day to feed it. '
'A warm blanket will <strong>relieve</strong> the chill. '
'It is <strong>strange</strong> to find a wild bird right in our yard! '
'We must be <strong>polite</strong> and quiet so we do not scare it. '
'The bird lives in a <strong>remote</strong> forest far from our house. '
'We <strong>debate</strong> where its nest really is. We <strong>divide</strong> the bird seed into small pieces. '
'The bird wants to <strong>escape</strong> back to its family in the trees.'
)
MONDAY_GRAMMAR_PRACTICE = [
"the rescue team arrived quickly.",
"i want to invite you",
"we can create something amazing",
]
MONDAY_FILL_DATA = [
("The ____ team saved the puppy from the river.", "rescue"),
("I want to ____ you to my birthday party.", "invite"),
("Please ____ well at the dinner table.", "behave"),
("It is ____ to say please and thank you.", "polite"),
]
MONDAY_OPPOSITE_WORDS = ["polite", "strange"]
MONDAY_SENTENCE_WORDS = [w[0] for w in WORDS[:4]]
# =====================================================================
# TUESDAY DATA
# =====================================================================
TUESDAY_LEARNING = ("Today we practice Silent E (Magic E) patterns. Read each word slowly "
"and listen for the long vowel sound the silent E creates.")
TUESDAY_READING = (
'Our class went to a <strong>remote</strong> island and it was the most <strong>strange</strong> '
'place I ever saw. I <strong>invite</strong> my best friend to explore the beach. '
'The guide tells us to <strong>behave</strong> and <strong>divide</strong> into small teams. '
'We <strong>create</strong> a map of the island together. Everyone wants to <strong>rescue</strong> '
'the old treasure chest. We <strong>debate</strong> where to eat lunch. '
'A monkey tries to <strong>escape</strong> with our snack! The ranger helps to its <strong>rescue</strong>. '
'We must be <strong>polite</strong> to the wildlife. We <strong>devote</strong> our sandwiches in paper. '
'The view helps to <strong>relieve</strong> all my stress.'
)
TUESDAY_COMP_QUESTIONS = [
"What strange place did they visit?",
"What did they create together?",
"What animal tried to escape?",
]
TUESDAY_REMEMBER_1 = (
"Remember This!",
"Silent E makes the vowel say its name:<br>"
"- Long <strong>a</strong> + e → <em>create</em><br>"
"- Long <strong>e</strong> + e → <em>relieve</em><br>"
"- Long <strong>i</strong> + e → <em>invite</em><br>"
"- Long <strong>o</strong> + e → <em>remote</em><br>"
"- Long <strong>u</strong> + e → <em>rescue</em><br><br>"
"<strong>Try This:</strong> What long vowel sound is in <em>escape</em>? ___"
)
TUESDAY_REMEMBER_2 = (
"Remember This!",
"To find the silent E pattern, look for a vowel + consonant + E at the end:<br><br>"
"<strong>create</strong> → c-r-e-a-t-<strong>e</strong> → long <strong>a</strong><br>"
"<strong>invite</strong> → <strong>i</strong>-n-v-i-t-<strong>e</strong> → long <strong>i</strong><br><br>"
"<strong>Try This:</strong> What long vowel sound is in <em>polite</em>? ___"
)
TUESDAY_SWAP_DATA = [
("We invite our friends to escape.", ("invite", "rescue"), ("escape", "polite")),
("The debate was very strange.", ("debate", "divide"), ("strange", "remote")),
("I can create a strange plan.", ("create", "behave"), ("strange", "devote")),
]
TUESDAY_BUILDER_PROMPTS = [
("Write a sentence about an escape.", "escape"),
("Write a sentence about being polite.", "polite"),
("Write a sentence about creating something.", "create"),
]
# =====================================================================
# WEDNESDAY DATA
# =====================================================================
WEDNESDAY_LEARNING = ("Today we use our Silent E words in reading, writing, and thinking. "
"Each activity helps you understand how these words work in different contexts.")
WEDNESDAY_READING = (
'My grandma and I <strong>debate</strong> which recipe to try every Saturday. Today we '
'<strong>create</strong> a special cake from scratch. The <strong>strange</strong> '
'ingredient is vanilla from a <strong>remote</strong> island. I <strong>invite</strong> my cousin to help. '
'She says I must <strong>behave</strong> and <strong>divide</strong> the eggs carefully. '
'The frosting is a delicate pink color. We <strong>devote</strong> the cake in foil. '
'We <strong>rescue</strong> the cake from burning at the last minute! I am very <strong>polite</strong> '
'and say thank you. The sweet smell helps to <strong>relieve</strong> all my stress. '
'We never let our cake <strong>escape</strong> from the oven.'
)
WEDNESDAY_VOCAB_Q = (
"In the sentence 'We were very polite about it,' what does <strong>polite</strong> mean?<br><br>"
"A) Loud and angry<br>"
"B) Kind and respectful<br>"
"C) Fast and quick<br>"
"D) Small and tiny"
)
WEDNESDAY_SYN_ANT = ["polite", "strange", "create", "rescue", "escape", "divide"]
WEDNESDAY_SORT_DATA = [
"The rescue team is very polite",
"We invite our friends to create art",
]
WEDNESDAY_CORRECT = [
"we invite you to our escape.",
"the rescue team rescue everything.",
"i devote the gift in paper.",
]
WEDNESDAY_FILL = [
("The cake was ____ after many hours of work.", "create"),
("She kept her secret ____ and safe.", "remote"),
("Please ____ the candies between the children.", "divide"),
]
WEDNESDAY_CONTEXT = (
'Read this sentence: "The blanket will help to <strong>relieve</strong> the cold wind."<br><br>'
"What does <strong>relieve</strong> mean?<br>"
"A) Make something less bad or painful<br>"
"B) Wrap something completely<br>"
"C) Break something into pieces<br>"
"D) Run away quickly"
)
WEDNESDAY_DICTATION = ["polite", "strange", "create", "debate", "rescue", "relieve"]
# =====================================================================
# THURSDAY DATA
# =====================================================================
THURSDAY_LEARNING = ("Today we use our Silent E words in stories and writing. "
"Use each word correctly in your sentences and stories.")
THURSDAY_STORY = (
'In the year 2150, I work on a <strong>remote</strong> space station in orbit around Jupiter. '
'Today I <strong>rescue</strong> a <strong>strange</strong> signal from a distant planet. '
'My captain <strong>invite</strong>s me to <strong>create</strong> a new communication device. '
'The machine is very complex and I must <strong>behave</strong> carefully with the controls. '
'We <strong>divide</strong> the signal into different parts to understand the message. '
'The crew <strong>debate</strong>s whether to send a greeting back. '
'We <strong>devote</strong> our time to preparing a warm welcome. '
'We must be <strong>polite</strong> to the alien visitors. No one can <strong>escape</strong> '
'the excitement! The news helps to <strong>relieve</strong> our stress.'
)
THURSDAY_COMP_QUESTIONS = [
"What strange signal did they rescue?",
"What did they create on the space station?",
"Why did they have to be polite?",
]
THURSDAY_SORT_DATA = [
"The rescue team invited us to create art",
"I divide the strange fruits on my escape",
]
THURSDAY_DETECTIVE = ["resc", "invote", "behav", "polote", "debat", "strnage", "craete", "reliev"]
THURSDAY_SWAP_DATA = [
("The rescue team noticed the strange car.", ("rescue", "polite"), ("strange", "remote")),
("I want to create a strange plan.", ("create", "invite"), ("strange", "rescue")),
]
THURSDAY_PARA_PROMPTS = [
"Write a paragraph about your dream escape.",
"Write a paragraph about being polite to others.",
]
# =====================================================================
# FRIDAY DATA
# =====================================================================
FRIDAY_REVIEW_STORY = (
'I <strong>rescue</strong> a lost puppy on my way home from school. It looks like it lives '
'in a <strong>remote</strong> forest nearby! I want to <strong>invite</strong> my dad to help. '
'We <strong>create</strong> a cozy shelter just for the puppy. '
'The <strong>strange</strong> puppy is very friendly. The neighbors want to <strong>divide</strong> the cost of food. '
'We <strong>debate</strong> what to name it. The puppy must <strong>behave</strong> '
'or we <strong>devote</strong> treats for training. We are very <strong>polite</strong> '
'to the animal shelter workers. The puppy never tries to <strong>escape</strong>. '
'The happy ending helps to <strong>relieve</strong> all my sadness. '
'What an amazing adventure!'
)
FRIDAY_STORY_QUESTIONS = [
"What did they rescue on the way home?",
"What did they create for the puppy?",
"How did the neighbors want to help?",
]
FRIDAY_OPPOSITE_WORDS = ["polite", "strange", "remote"]
FRIDAY_BUILDER_WORDS = ["escape", "create", "polite", "rescue"]
FRIDAY_JOURNAL_WORDS = ["behave", "debate", "relieve", "devote"]
# =====================================================================
# TEACHER GUIDE DATA — Answer keys, explanations, and teaching notes
# =====================================================================
# Monday
TEACHER_MONDAY_PHONICS_EXPLANATION = (
"SILENT E (Magic E) sits at the end of a word and makes the vowel say its name. "
"The E itself is silent — it doesn't make any sound! This is one of the most important "
"patterns in English spelling. Students should hear the long vowel and see that the silent e "
"at the end is what made it long.<br><br>"
"• Long <strong>a</strong> + silent e → <em>create</em>, <em>strange</em>, <em>escape</em>, <em>behave</em>, <em>debate</em><br>"
"• Long <strong>e</strong> + silent e → <em>relieve</em><br>"
"• Long <strong>i</strong> + silent e → <em>invite</em>, <em>polite</em>, <em>divide</em><br>"
"• Long <strong>o</strong> + silent e → <em>remote</em>, <em>devote</em><br>"
"• Long <strong>u</strong> + silent e → <em>rescue</em>"
)
TEACHER_MONDAY_GRAMMAR_FOCUS = "Capital Letters and Punctuation (., ?, !)"
TEACHER_MONDAY_GRAMMAR_EXPLANATION = (
"Every sentence must start with a capital letter and end with punctuation. "
"A period (.) ends a statement, a question mark (?) ends a question, "
"and an exclamation point (!) shows excitement. Missing either the capital "
"or the punctuation means it's not a complete sentence."
)
TEACHER_MONDAY_SORT_LABELS = ["Long A (a_e)", "Long E (e_e)", "Long I (i_e)", "Long O (o_e)", "Long U (u_e)"]
TEACHER_MONDAY_SORT_ANSWERS = [
["behave", "debate", "strange", "create", "escape"],
["relieve"],
["invite", "polite", "divide"],
["remote", "devote"],
["rescue"],
]
TEACHER_MONDAY_FILL_ANSWERS = ["rescue", "invite", "behave", "polite"]
TEACHER_MONDAY_OPPOSITE_ANSWERS = [
("polite", "rude"),
("strange", "normal"),
]
TEACHER_MONDAY_SENTENCE_WORDS = ["rescue", "invite", "behave", "polite"]
# Tuesday
TEACHER_TUESDAY_PHONICS_EXPLANATION = (
"Students continue building fluency with Silent E patterns. "
"Today's focus shifts from identification to APPLICATION — finding Silent E words "
"in context (reading passage), discriminating them from short vowel words (Pattern Hunt), "
"and using them in original sentences (Builder)."
)
TEACHER_TUESDAY_SCRAMBLE_ANSWERS = [
("ecuser", "rescue"),
("etivni", "invite"),
("aevaeh", "behave"),
("eliotp", "polite"),
("etaebd", "debate"),
("gnears", "strange"),
("etaerc", "create"),
("detove", "devote"),
("eeviler", "relieve"),
("evivid", "divide"),
("ecapes", "escape"),
("otemr", "remote"),
]
TEACHER_TUESDAY_COMP_QUESTIONS = [
"What strange place did they visit?",
"What did they create together?",
"What animal tried to escape?",
]
TEACHER_TUESDAY_COMP_ANSWERS = [
"A remote island.",
"A map of the island.",
"A monkey.",
]
TEACHER_TUESDAY_PATTERN_HUNT = {
"match": ["rescue", "invite", "behave", "polite", "debate", "strange", "create", "devote", "relieve", "divide", "escape", "remote"],
"decoy": ["stop", "cat", "big", "hot", "pen"],
}
TEACHER_TUESDAY_SWAP_ANSWERS = [
"rescue, polite",
"divide, remote",
"behave, devote",
]
TEACHER_TUESDAY_BUILDER_PROMPTS = [
("Write a sentence about an escape.", "escape"),
("Write a sentence about being polite.", "polite"),
("Write a sentence about creating something.", "create"),
]
# Wednesday
TEACHER_WEDNESDAY_PHONICS_EXPLANATION = (
"Mid-week deepening. Students now move beyond recognition into ANALYSIS — "
"understanding word relationships (synonyms/antonyms), connecting vocabulary (word web), "
"and applying listening skills (dictation). This is where the Silent E pattern knowledge becomes functional."
)
TEACHER_WEDNESDAY_VOCAB_Q_QUESTION = (
"In the sentence 'We were very polite about it,' what does polite mean?"
)
TEACHER_WEDNESDAY_VOCAB_Q_ANSWER = "B) Kind and respectful"
TEACHER_WEDNESDAY_SYN_ANT_WORDS = ["polite", "strange", "create", "rescue", "escape", "divide"]
TEACHER_WEDNESDAY_WORD_WEB_CENTER = "create"
TEACHER_WEDNESDAY_WORD_WEB_SUGGESTIONS = [
"invent", "make", "build", "design", "imagine", "produce", "construct", "develop", "paint", "write"
]
TEACHER_WEDNESDAY_SORT_ANSWERS = {
"sentences": [
"The rescue team is very polite",
"We invite our friends to create art",
],
"correct_order": [
"The rescue team is very polite.",
"We invite our friends to create art.",
],
}
TEACHER_WEDNESDAY_CORRECT_ANSWERS = [
("we invite you to our escape.", "We invite you to our escape."),
("the rescue team rescue everything.", "The rescue team rescue everything."),
("i devote the gift in paper.", "I devote the gift in paper."),
]
TEACHER_WEDNESDAY_FILL_ANSWERS = ["create", "remote", "divide"]
TEACHER_WEDNESDAY_CONTEXT_CLUE_QUESTION = (
"In 'The blanket will help to relieve the cold wind,' what does relieve mean?"
)
TEACHER_WEDNESDAY_CONTEXT_CLUE_ANSWER = "A) Make something less bad or painful"
TEACHER_WEDNESDAY_DICTATION_WORDS = ["polite", "strange", "create", "debate", "rescue", "relieve"]
# Thursday
TEACHER_THURSDAY_PHONICS_EXPLANATION = (
"Production day. Students have now seen and practiced the Silent E pattern for 3 days — "
"today they actively CREATE with it. Spelling Detective builds metacognition "
"(thinking about how they think about spelling). Spelling Maps teach word analysis. "
"Paragraph writing brings it all together."
)
TEACHER_THURSDAY_COMP_QUESTIONS = [
"What strange signal did they rescue?",
"What did they create on the space station?",
"Why did they have to be polite?",
]
TEACHER_THURSDAY_COMP_ANSWERS = [
"A signal from a distant planet.",
"A new communication device.",
"Because they were meeting alien visitors.",
]
TEACHER_THURSDAY_SORT_ANSWERS = {
"sentences": [
"The rescue team invited us to create art",
"I divide the strange fruits on my escape",
],
"correct_order": [
"The rescue team invited us to create art.",
"I divide the strange fruits on my escape.",
],
}
TEACHER_THURSDAY_DETECTIVE_ANSWERS = [
("resc", "rescue"),
("invote", "invite"),
("behav", "behave"),
("polote", "polite"),
("debat", "debate"),
("strnage", "strange"),
("craete", "create"),
("reliev", "relieve"),
]
TEACHER_THURSDAY_SWAP_ANSWERS = [
"polite, remote",
"invite, rescue",
]
TEACHER_THURSDAY_MAP_WORD = "escape"
TEACHER_THURSDAY_MAP_SUGGESTIONS = [
"es-cape (2 syllables)",
"Split between s and c: es-cape",
"Contains the silent E pattern: long a + silent e",
"Related words: escape, escaped, escaping",
]
TEACHER_THURSDAY_PARA_PROMPTS = [
"Write a paragraph about your dream escape.",
"Write a paragraph about being polite to others.",
]
# Friday
TEACHER_FRIDAY_PHONICS_EXPLANATION = (
"Review and assessment day. All 12 Silent E words are tested through the spelling test, "
"but the full worksheet also reviews reading comprehension, vocabulary, "
"and writing skills from the week. The goal is to see what stuck and what needs "
"more practice next week."
)
TEACHER_FRIDAY_TEST_ANSWERS = [
"rescue", "invite", "behave", "polite", "debate", "strange",
"create", "devote", "relieve", "divide", "escape", "remote",
]
TEACHER_FRIDAY_STORY_QUESTIONS = [
"What did they rescue on the way home?",
"What did they create for the puppy?",
"How did the neighbors want to help?",
]
TEACHER_FRIDAY_STORY_ANSWERS = [
"A lost puppy.",
"A cozy shelter for the puppy.",
"They wanted to divide the cost of food.",
]
TEACHER_FRIDAY_OPPOSITE_ANSWERS = [
("polite", "rude"),
("strange", "normal"),
("remote", "nearby"),
]
TEACHER_FRIDAY_BUILDER_WORDS = ["escape", "create", "polite", "rescue"]
TEACHER_FRIDAY_JOURNAL_WORDS = ["behave", "debate", "relieve", "devote"]
# =====================================================================
# VALIDATION DATA
# =====================================================================
FILL_DATA = MONDAY_FILL_DATA
DETECTIVE_WORDS = THURSDAY_DETECTIVE
DETECTIVE_ANSWERS = ["rescue", "invite", "behave", "polite", "debate", "strange", "create", "relieve"]
OPPOSITE_PAIRS = [("polite", "rude"), ("strange", "normal")]
LEARNING_EXAMPLES = ["strange", "invite", "rescue"]
BREAKDOWNS = {
"strange": "str-a-n-g-e",
"invite": "i-n-v-i-t-e",
"rescue": "r-e-s-c-u-e",
}
# =====================================================================
# GENERATE
# =====================================================================
def main():
print("=" * 50)
print("Week 2 Generator - Silent E Pattern (AUDITED)")
print("=" * 50)
def main():
print("=" * 50)
print("Week 2 Generator - Silent E Pattern (AUDITED)")
print("=" * 50)
# Phonetic audit (verifies words against database)
try:
from audit.run_audit import validate_before_generate
validate_before_generate(__file__)
except ImportError:
print(" [warn] audit system unavailable — skipping phonetic check")
except Exception as e:
print(f"\n AUDIT FAILED: {e}")
exit(1)
# Validate
errors = validate_week(
words=WORDS, word_names=WORD_NAMES,
fill_data=FILL_DATA,
detective_words=DETECTIVE_WORDS, detective_answers=DETECTIVE_ANSWERS,
opposite_pairs=OPPOSITE_PAIRS,
learning_examples=LEARNING_EXAMPLES,
breakdowns=BREAKDOWNS,
generate_friday=lambda: None,
)
if errors:
print("\nVALIDATION FAILED:")
for e in errors:
print(f" - {e}")
exit(1)
print("Validation passed.\n")
# Monday
generate_monday(
week_dir=WEEK, week_num=2, phonics_label=PHONICS_LABEL, words=WORDS,
learning_text=LEARNING_TEXT, vowel_examples=VOWEL_EXAMPLES_MONDAY,
grammar_note=GRAMMAR_NOTE, grammar_deep=GRAMMAR_DEEP,
grammar_practice=MONDAY_GRAMMAR_PRACTICE,
story_text=MONDAY_STORY, sort_labels=SORT_LABELS, sort_title=SORT_TITLE,
fill_data=MONDAY_FILL_DATA, opposite_words=MONDAY_OPPOSITE_WORDS,
sentence_words=MONDAY_SENTENCE_WORDS,
)
# Tuesday
generate_tuesday(
week_dir=WEEK, week_num=2, phonics_label=PHONICS_LABEL, words=WORDS,
learning_text=TUESDAY_LEARNING, vowel_examples=VOWEL_EXAMPLES_TUE,
remember_boxes=[TUESDAY_REMEMBER_1, TUESDAY_REMEMBER_2],
reading_text=TUESDAY_READING, comp_questions=TUESDAY_COMP_QUESTIONS,
swap_data=TUESDAY_SWAP_DATA, builder_prompts=TUESDAY_BUILDER_PROMPTS,
)
# Wednesday
generate_wednesday(
week_dir=WEEK, week_num=2, phonics_label=PHONICS_LABEL, words=WORDS,
learning_text=WEDNESDAY_LEARNING, learning_skills=LEARNING_SKILLS_WED,
reading_passage=WEDNESDAY_READING, vocab_question=WEDNESDAY_VOCAB_Q,
syn_ant_words=WEDNESDAY_SYN_ANT, word_web_center="create",
sentence_sort_data=WEDNESDAY_SORT_DATA, correct_sentences=WEDNESDAY_CORRECT,
fill_data=WEDNESDAY_FILL, context_clue=WEDNESDAY_CONTEXT,
dictation_words=WEDNESDAY_DICTATION,
)
# Thursday
generate_thursday(
week_dir=WEEK, week_num=2, phonics_label=PHONICS_LABEL, words=WORDS,
learning_text=THURSDAY_LEARNING, remember_text=REMINDER_TEXT,
story_text=THURSDAY_STORY, comp_questions=THURSDAY_COMP_QUESTIONS,
sentence_sort_data=THURSDAY_SORT_DATA, detective_words=THURSDAY_DETECTIVE,
swap_data=THURSDAY_SWAP_DATA, map_word="escape",
para_prompts=THURSDAY_PARA_PROMPTS,
)
# Friday
generate_friday(
week_dir=WEEK, week_num=2, phonics_label=PHONICS_LABEL, words=WORDS,
review_story=FRIDAY_REVIEW_STORY, story_questions=FRIDAY_STORY_QUESTIONS,
opposite_words=FRIDAY_OPPOSITE_WORDS, builder_words=FRIDAY_BUILDER_WORDS,
journal_words=FRIDAY_JOURNAL_WORDS,
)
# Teacher Guide
generate_teacher_guide(
week_dir=WEEK, week_num=2, phonics_label=PHONICS_LABEL, words=WORDS,
phonics_name="Silent E Pattern",
# Monday
monday_phonics_explanation=TEACHER_MONDAY_PHONICS_EXPLANATION,
monday_grammar_focus=TEACHER_MONDAY_GRAMMAR_FOCUS,
monday_grammar_explanation=TEACHER_MONDAY_GRAMMAR_EXPLANATION,
monday_story_text=MONDAY_STORY,
monday_sort_labels=TEACHER_MONDAY_SORT_LABELS,
monday_sort_answers=TEACHER_MONDAY_SORT_ANSWERS,
monday_fill_answers=TEACHER_MONDAY_FILL_ANSWERS,
monday_opposite_answers=TEACHER_MONDAY_OPPOSITE_ANSWERS,
monday_sentence_words=TEACHER_MONDAY_SENTENCE_WORDS,
# Tuesday
tuesday_phonics_explanation=TEACHER_TUESDAY_PHONICS_EXPLANATION,
tuesday_scramble_answers=TEACHER_TUESDAY_SCRAMBLE_ANSWERS,
tuesday_reading_text=TUESDAY_READING,
tuesday_comp_questions=TEACHER_TUESDAY_COMP_QUESTIONS,
tuesday_comp_answers=TEACHER_TUESDAY_COMP_ANSWERS,
tuesday_pattern_hunt_answers=TEACHER_TUESDAY_PATTERN_HUNT,
tuesday_swap_answers=TEACHER_TUESDAY_SWAP_ANSWERS,
tuesday_builder_prompts=TEACHER_TUESDAY_BUILDER_PROMPTS,
# Wednesday
wednesday_phonics_explanation=TEACHER_WEDNESDAY_PHONICS_EXPLANATION,
wednesday_reading_text=WEDNESDAY_READING,
wednesday_vocab_q_question=TEACHER_WEDNESDAY_VOCAB_Q_QUESTION,
wednesday_vocab_q_answer=TEACHER_WEDNESDAY_VOCAB_Q_ANSWER,
wednesday_syn_ant_words=TEACHER_WEDNESDAY_SYN_ANT_WORDS,
wednesday_word_web_center=TEACHER_WEDNESDAY_WORD_WEB_CENTER,
wednesday_word_web_suggestions=TEACHER_WEDNESDAY_WORD_WEB_SUGGESTIONS,
wednesday_sort_answers=TEACHER_WEDNESDAY_SORT_ANSWERS,
wednesday_correct_answers=TEACHER_WEDNESDAY_CORRECT_ANSWERS,
wednesday_fill_answers=TEACHER_WEDNESDAY_FILL_ANSWERS,
wednesday_context_clue_question=TEACHER_WEDNESDAY_CONTEXT_CLUE_QUESTION,
wednesday_context_clue_answer=TEACHER_WEDNESDAY_CONTEXT_CLUE_ANSWER,
wednesday_dictation_words=TEACHER_WEDNESDAY_DICTATION_WORDS,
# Thursday
thursday_phonics_explanation=TEACHER_THURSDAY_PHONICS_EXPLANATION,
thursday_story_text=THURSDAY_STORY,
thursday_comp_questions=TEACHER_THURSDAY_COMP_QUESTIONS,
thursday_comp_answers=TEACHER_THURSDAY_COMP_ANSWERS,
thursday_sort_answers=TEACHER_THURSDAY_SORT_ANSWERS,
thursday_detective_answers=TEACHER_THURSDAY_DETECTIVE_ANSWERS,
thursday_swap_answers=TEACHER_THURSDAY_SWAP_ANSWERS,
thursday_map_word=TEACHER_THURSDAY_MAP_WORD,
thursday_map_suggestions=TEACHER_THURSDAY_MAP_SUGGESTIONS,
thursday_para_prompts=TEACHER_THURSDAY_PARA_PROMPTS,
# Friday
friday_phonics_explanation=TEACHER_FRIDAY_PHONICS_EXPLANATION,
friday_test_answers=TEACHER_FRIDAY_TEST_ANSWERS,
friday_story_questions=TEACHER_FRIDAY_STORY_QUESTIONS,
friday_story_answers=TEACHER_FRIDAY_STORY_ANSWERS,
friday_opposite_answers=TEACHER_FRIDAY_OPPOSITE_ANSWERS,
friday_builder_words=TEACHER_FRIDAY_BUILDER_WORDS,
friday_journal_words=TEACHER_FRIDAY_JOURNAL_WORDS,
)
print("\nAll done! Check Week_02/ for PDFs.")
if __name__ == "__main__":
main()