66 lines
3.6 KiB
Python
Executable File
66 lines
3.6 KiB
Python
Executable File
#!/bin/python
|
|
import requests
|
|
import sys
|
|
import os
|
|
|
|
apps = {"broadlink": "68", "zwave": "60", "huee": "62", "webapp": "59", "yeelight": "87", "octoprint": "99", "postgresql": "102", "webapi": "104", "chromecast": "148", "mqtt": "152", "webgrid": "167"}
|
|
headers = {"PRIVATE-TOKEN": sys.argv[1]}
|
|
|
|
def get_data(id_number):
|
|
branch_name = "main"
|
|
commit = requests.get(f'https://git.cmtec.se/api/v4/projects/{id_number}/repository/commits/{branch_name}', headers=headers).json()
|
|
|
|
# Backwards compatibility for old branch default name (master)
|
|
message = commit.get("message", "")
|
|
if message == "404 Commit Not Found":
|
|
branch_name = "master"
|
|
commit = requests.get(f'https://git.cmtec.se/api/v4/projects/{id_number}/repository/commits/{branch_name}', headers=headers).json()
|
|
|
|
date = commit.get("committed_date")
|
|
name = commit.get("committer_name")
|
|
email = commit.get("committer_email")
|
|
readme = requests.get(f'https://git.cmtec.se/api/v4/projects/{id_number}/repository/files/README.md/raw?ref={branch_name}', headers=headers).text
|
|
changelog = requests.get(f'https://git.cmtec.se/api/v4/projects/{id_number}/repository/files/CHANGELOG.md/raw?ref={branch_name}', headers=headers).text
|
|
|
|
return (date, name, email, readme, changelog)
|
|
|
|
def create_files(path, readme, changelog):
|
|
if not os.path.exists("content/" + path):
|
|
os.makedirs("content/" + path)
|
|
with open('content/'+path+'/_index.md', 'w') as file:
|
|
file.write(readme)
|
|
with open('content/'+path+'/changelog.md', 'w') as file:
|
|
file.write(changelog)
|
|
|
|
|
|
# LibHAASP
|
|
date,name,email,readme,changelog = get_data("64")
|
|
meta_readme = f'+++\ntitle = "libHAASP"\nhead = "<label>Core Modules</label>"\nweight = 5\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
meta_changelog = f'+++\ntitle = "Changelog"\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
create_files("libhaasp", meta_readme + readme, meta_changelog + changelog)
|
|
|
|
# Core
|
|
date,name,email,readme,changelog = get_data("58")
|
|
meta_readme = f'+++\ntitle = "Core"\nweight = 6\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
meta_changelog = f'+++\ntitle = "Changelog"\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
create_files("core", meta_readme + readme, meta_changelog + changelog)
|
|
|
|
# CLI
|
|
date,name,email,readme,changelog = get_data("69")
|
|
meta_readme = f'+++\ntitle = "CLI"\nweight = 7\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
meta_changelog = f'+++\ntitle = "Changelog"\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
create_files("cli", meta_readme + readme, meta_changelog + changelog)
|
|
|
|
# Applications
|
|
weight = 10
|
|
for app in sorted(apps.keys()):
|
|
date,name,email,readme,changelog = get_data(apps[app])
|
|
if weight == 10:
|
|
meta_readme = f'+++\nweight = "{str(weight)}"\nhead = "<label>App Modules</label>"\ntitle = "{app[0].upper()}{app[1:]}"\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
else:
|
|
meta_readme = f'+++\nweight = "{str(weight)}"\ntitle = "{app[0].upper()}{app[1:]}"\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
meta_changelog = f'+++\ntitle = "Changelog"\ndate = "{date}"\nlastmodifierdisplayname = "{name}"\nlastmodifieremail = "{email}"\n+++\n'
|
|
create_files(app, meta_readme + readme, meta_changelog + changelog)
|
|
weight = weight + 1
|
|
|