etl/expiry.py (17 lines of code) (raw):
def get_mapped_expiry(expiry, app_name, product_details):
# For Desktop we can map expiry versions to dates.
if app_name == "firefox_desktop":
details = product_details.get(f"{expiry}.0")
if details:
return details
# Other's might be either a date, a version or "never"
if expiry == "never":
return None
else:
return expiry
def get_expiry_text(expiry, app_name, product_details):
latest_release_version = [*product_details][-1]
if expiry == "never" or expiry is None:
return expiry
if isinstance(expiry, int) and (app_name in ["firefox_desktop", "fenix", "firefox_ios"]):
# We only have expiry versions for Firefox Desktop and Mobile currently.
# Let's update this when version-based expiry are available for other apps.
# See: https://github.com/mozilla/glean-dictionary/issues/1513
return f"{expiry}. Latest release is \
[{latest_release_version}](https://whattrainisitnow.com/)."
return str(expiry)