def _parse(value, strict=True):
pattern = r'<STR_LIT>'<EOL>match = re.match(pattern, value)<EOL>if not match:<EOL><INDENT>raise ValueError('<STR_LIT>' % value)<EOL><DEDENT>hours = safe_int(match.group('<STR_LIT>'))<EOL>minutes = safe_int(match.group('<STR_LIT>'))<EOL>seconds = safe_int(match.group('<STR_LIT>'))<EOL>check_tuple((hours, minutes, seconds,), strict)<EOL>return (hours, minutes, seconds,)<EOL>
Preliminary duration value parser

strict=True (by default) raises StrictnessError if either hours,
minutes or seconds in duration value exceed allowed values