solution: /submissions/accepted/thore.py version: 2025-02 # use this version of the generators framework data: sample: data: - '' : &sample1 in: | Mon 08:00 Mon 15:00 ans: 7 hours - '' : in: | Mon 10:00 Wed 08:59 ans: 1 day, 22 hours, 59 minutes - '' : in: | Fri 20:00 Mon 08:00 ans: 2 days and 12 hours secret: data: full_week: in: | Mon 01:00 Mon 01:00 ans: 7 days minute: in: | Mon 01:00 Mon 01:01 ans: 1 minute wraparoundminute : in: | Sun 23:59 Mon 00:00 ans: 1 minute mon: generate: from.py --start Mon0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute tue: generate: from.py --start Tue0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute wed: generate: from.py --start Wed0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute thu: generate: from.py --start Thu0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute fri: generate: from.py --start Fri0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute sat: generate: from.py --start Sat0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute sun: generate: from.py --start Sun0800 --days 1 --hours 1 --minutes 1 ans: 1 day, 1 hour, 1 minute maxduration1: generate: from.py --days 6 --hours 23 --minutes 59 ans: 6 days, 23 hours, 59 minutes maxduration2: generate: from.py --start Sun2359 --days 6 --hours 23 --minutes 59 ans: 6 days, 23 hours, 59 minutes from-mm: generate: from.py --minutes {count} count: 10 from-hh: generate: from.py --hours {count} count: 10 from-dd: generate: from.py --days {count} count: 7 from-dd-hh-mm: generate: from.py --start Tue0836 --days {count} --minutes {count} --hour {count} count: 7 invalid_input: data: oneline: { in: "Mon 01:00" } alltokens: { in: "Mon 01:00 Mon 01:00" } shortdayname: in: | Mo 01:00 Mo 01:00 midnight: in: | Mo 24:00 Mo 01:00 hourbounds: in: | Mo 25:00 Mo 01:00 minutebounds: in: | Mo 01:00 Mo 01:60 spamfirst: in: | Mo 01:00 spam Mo 01:00 spamsecond: in: | Mo 01:00 Mo 01:00 extraline: in: | Mo 01:00 Mo 01:00 spam invalid_answer: data: oxford: in: | Mon 08:00 Tue 09:01 ans: 1 day, 1 hour, and 1 minute extra-comma: in: | Mon 08:00 Tue 09:00 ans: 1 day, and 1 hour separate-lines: in: | Mon 08:00 Tue 09:00 ans: | 1 day 1 hour invalid_output: data: weektoken: in: | Mon 08:00 Mon 08:00 ans: 7 days out: 1 week daysingular: in: | Mon 08:00 Tue 08:00 ans: 1 day out: 1 days dayplural: in: | Mon 08:00 Wed 08:00 ans: 2 days out: 2 day hoursingular: in: | Mon 08:00 Mon 09:00 ans: 1 hour out: 1 hours hourplural: in: | Mon 08:00 Mon 10:00 ans: 2 hours out: 2 hour minutesingular: in: | Mon 08:00 Mon 08:01 ans: 1 minute out: 1 minutes minuteplural: in: | Mon 08:00 Mon 08:02 ans: 2 minutes out: 2 minute valid_output: data: space: in: | Mon 08:00 Mon 09:02 ans: 1 hour and 2 minutes out: | 1 hour and 2 minutes case: in: | Mon 08:00 Mon 08:02 ans: 2 minutes out: 2 mInUtEs