Files
endoflife-date-release-data/src/artifactory.py
Marc Wrobel 758b204ada [artifactory] Refactor script (#214)
Make the script more readable, mostly by:

- using the endoflife.Product class,
- removing the unnecessary use of functions,
- a little bit of renaming.
2023-12-10 14:14:03 +01:00

28 lines
1.1 KiB
Python

import datetime
from common import dates
from common import endoflife
from requests_html import HTMLSession
"""Fetches Artifactory versions from https://jfrog.com, using requests_html because JavaScript is
needed to render the page."""
product = endoflife.Product("artifactory")
print(f"::group::{product.name}")
r = HTMLSession().get("https://jfrog.com/help/r/jfrog-release-information/artifactory-end-of-life")
r.html.render(sleep=2, scrolldown=5)
for row in r.html.find('.informaltable tbody tr'):
cells = row.find("td")
if len(cells) >= 2:
version = cells[0].text.strip()
if version:
date_str = cells[1].text.strip().replace("_", "-").replace("Sept-", "Sep-")
product.declare_version(version, dates.parse_date(date_str))
# 7.29.9 release date is wrong on https://jfrog.com/help/r/jfrog-release-information/artifactory-end-of-life.
# Sent a mail to jfrog-help-center-feedback@jfrog.com to fix it, but in the meantime...
product.replace_version('7.29.9', datetime.datetime(2022, 1, 11))
product.write()
print("::endgroup::")