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)