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,7 +7,7 @@ from common.git import Git
|
||||
"""Fetch Debian versions by parsing news in www.debian.org source repository."""
|
||||
|
||||
|
||||
def extract_major_versions(p: releasedata.Product, repo_dir: Path) -> None:
|
||||
def extract_major_versions(p: releasedata.ProductData, repo_dir: Path) -> None:
|
||||
child = run(
|
||||
f"grep -RhE -A 1 '<define-tag pagetitle>Debian [0-9]+.+</q> released' {repo_dir}/english/News "
|
||||
f"| cut -d '<' -f 2 "
|
||||
@@ -26,7 +26,7 @@ def extract_major_versions(p: releasedata.Product, repo_dir: Path) -> None:
|
||||
is_release_line = True
|
||||
|
||||
|
||||
def extract_point_versions(p: releasedata.Product, repo_dir: Path) -> None:
|
||||
def extract_point_versions(p: releasedata.ProductData, repo_dir: Path) -> None:
|
||||
child = run(
|
||||
f"grep -Rh -B 10 '<define-tag revision>' {repo_dir}/english/News "
|
||||
"| grep -Eo '(release_date>(.*)<|revision>(.*)<)' "
|
||||
@@ -41,12 +41,10 @@ def extract_point_versions(p: releasedata.Product, repo_dir: Path) -> None:
|
||||
p.declare_version(version, dates.parse_date(date))
|
||||
|
||||
|
||||
product = releasedata.Product("debian")
|
||||
git = Git("https://salsa.debian.org/webmaster-team/webwml.git")
|
||||
git.setup()
|
||||
git.checkout("master", file_list=["english/News"])
|
||||
with releasedata.ProductData("debian") as product_data:
|
||||
git = Git("https://salsa.debian.org/webmaster-team/webwml.git")
|
||||
git.setup()
|
||||
git.checkout("master", file_list=["english/News"])
|
||||
|
||||
extract_major_versions(product, git.repo_dir)
|
||||
extract_point_versions(product, git.repo_dir)
|
||||
|
||||
product.write()
|
||||
extract_major_versions(product_data, git.repo_dir)
|
||||
extract_point_versions(product_data, git.repo_dir)
|
||||
|
||||
Reference in New Issue
Block a user