With the current state of automation scripts, this is not possible anymore to launch script with multiple auto configs.
29 lines
1.4 KiB
Python
29 lines
1.4 KiB
Python
import re
|
|
|
|
from common import dates, http
|
|
from common.releasedata import ProductData, config_from_argv
|
|
|
|
# https://regex101.com/r/zPxBqT/1
|
|
VERSION_PATTERN = re.compile(r"\d.\d+\.\d+-gke\.\d+")
|
|
URL_BY_PRODUCT = {
|
|
"google-kubernetes-engine": "https://cloud.google.com/kubernetes-engine/docs/release-notes-nochannel",
|
|
"google-kubernetes-engine-stable": "https://cloud.google.com/kubernetes-engine/docs/release-notes-stable",
|
|
"google-kubernetes-engine-regular": "https://cloud.google.com/kubernetes-engine/docs/release-notes-regular",
|
|
"google-kubernetes-engine-rapid": "https://cloud.google.com/kubernetes-engine/docs/release-notes-rapid",
|
|
}
|
|
|
|
config = config_from_argv() # multiple JSON produced for historical reasons
|
|
for product_name, url in URL_BY_PRODUCT.items():
|
|
with ProductData(product_name) as product_data:
|
|
html = http.fetch_html(url)
|
|
|
|
for section in html.find_all('section', class_='releases'):
|
|
for h2 in section.find_all('h2'): # h2 contains the date
|
|
date = dates.parse_date(h2.get('data-text'))
|
|
|
|
next_div = h2.find_next('div') # The div next to the h2 contains the notes about changes made on that date
|
|
for li in next_div.find_all('li'):
|
|
if "versions are now available" in li.text:
|
|
for version in VERSION_PATTERN.findall(li.find('ul').text):
|
|
product_data.declare_version(version, date)
|