in glean_parser/util.py [0:0]
def validate_expires(expires: str, major_version: Optional[int] = None) -> None:
"""
If expiration by major version is enabled, raises a ValueError in
case `expires` is not a positive integer.
Otherwise raises a ValueError in case the `expires` is not ISO8601
parseable, or in case the date is more than 730 days (~2 years) in
the future.
"""
if expires in ("never", "expired"):
return
if major_version is not None:
parse_expiration_version(expires)
# Don't need to keep parsing dates if expiration by version
# is enabled. We don't allow mixing dates and versions for a
# single product.
return
date = parse_expiration_date(expires)
max_date = datetime.datetime.now() + datetime.timedelta(days=730)
if date > max_date.date():
raise ValueError(
f"'{expires}' is more than 730 days (~2 years) in the future.",
"Please make sure this is intentional.",
"You can supress this warning by adding EXPIRATION_DATE_TOO_FAR to no_lint",
"See: https://mozilla.github.io/glean_parser/metrics-yaml.html#no_lint",
)