Make releasedata.Product usable in 'with' expression (#294)
This way the writing of the JSON file is handled automatically if the update does not fail. It pave the way to further global improvements, such as a better error handling.
This commit is contained in:
@@ -7,15 +7,13 @@ URLS = [
|
||||
"https://www.ibm.com/support/pages/aix-support-lifecycle-information",
|
||||
]
|
||||
|
||||
product = releasedata.Product("ibm-aix")
|
||||
for page in http.fetch_urls(URLS):
|
||||
page_soup = BeautifulSoup(page.text, features="html5lib")
|
||||
with releasedata.ProductData("ibm-aix") as product_data:
|
||||
for page in http.fetch_urls(URLS):
|
||||
page_soup = BeautifulSoup(page.text, features="html5lib")
|
||||
|
||||
for release_table in page_soup.find("div", class_="ibm-container-body").find_all("table", class_="ibm-data-table ibm-grid"):
|
||||
for row in release_table.find_all("tr")[1:]: # for all rows except the header
|
||||
cells = row.find_all("td")
|
||||
version = cells[0].text.strip("AIX ").replace(' TL', '.')
|
||||
date = dates.parse_month_year_date(cells[1].text)
|
||||
product.declare_version(version, date)
|
||||
|
||||
product.write()
|
||||
for release_table in page_soup.find("div", class_="ibm-container-body").find_all("table", class_="ibm-data-table ibm-grid"):
|
||||
for row in release_table.find_all("tr")[1:]: # for all rows except the header
|
||||
cells = row.find_all("td")
|
||||
version = cells[0].text.strip("AIX ").replace(' TL', '.')
|
||||
date = dates.parse_month_year_date(cells[1].text)
|
||||
product_data.declare_version(version, date)
|
||||
|
||||
Reference in New Issue
Block a user