Skip to content

Commit 0f54884

Browse files
Release List: Draft for Reading Dependencies.txt
(Proposal by Copilot)
1 parent 8598105 commit 0f54884

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

scripts/update_releases.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,27 @@ def fetch_release_details(filtered_releases):
6767
json.dump(releases_data, outfile, indent=4)
6868
return releases_data
6969

70+
def fetch_dependencies(repo):
71+
try:
72+
url = f"https://raw.githubusercontent.com/OpenKNX/{repo['name']}/main/dependencies.txt"
73+
response = requests.get(url)
74+
response.raise_for_status()
75+
dependencies = response.text.splitlines()
76+
return [dep.strip() for dep in dependencies if dep.strip()]
77+
except requests.exceptions.RequestException:
78+
logging.warning(f"No dependencies.txt found for {repo['name']}")
79+
return []
80+
81+
def fetch_all_dependencies(filtered_releases):
82+
all_dependencies = {}
83+
for repo in filtered_releases:
84+
dependencies = fetch_dependencies(repo)
85+
if dependencies:
86+
all_dependencies[repo['name']] = dependencies
87+
with open('dependencies.json', 'w') as outfile:
88+
json.dump(all_dependencies, outfile, indent=4)
89+
return all_dependencies
90+
7091
# Erzeugt zu eine kleine HTML-Datei mit Ausgabe des aktuellsten Release.
7192
# Ein Pre-Release wird nur dann mit ausgegeben wenn es neuer ist als das neuste Release, oder noch kein reguläres existiert
7293
def create_html_for_repo(repo_name, details):
@@ -109,6 +130,8 @@ def main():
109130
filtered_releases = fetch_and_filter_releases()
110131
releases_data = fetch_release_details(filtered_releases)
111132
update_html(releases_data)
133+
all_dependencies = fetch_all_dependencies(filtered_releases)
134+
logging.info(f"Dependencies: {json.dumps(all_dependencies, indent=4)}")
112135

113136
if __name__ == "__main__":
114137
main()

0 commit comments

Comments
 (0)