diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a3f9433..3762dda 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -17,10 +17,7 @@ jobs: PREFIX_FILTER: | installers - name: Generate installers, update README.md & installers.toml - run: | - pip install toml - pip install pytablewriter - python generate.py ${{ env.GIT_DIFF }} + run: ./generate.sh ${{ env.GIT_DIFF }} if: env.GIT_DIFF - name: Minify generated installers run: ./minify.sh ${{ env.GIT_DIFF }} diff --git a/generate.py b/generate.py index c302405..bbf5b78 100644 --- a/generate.py +++ b/generate.py @@ -31,7 +31,7 @@ def update_readme(summary): curl = "Yes" if "curl" in installers else "No" url = "https://installer.to/"+tool_shortname value_matrix.append([name, apt, yum, pacman, apk, dnf, curl, url]) - print(value_matrix) + writer.value_matrix = value_matrix table_md = writer.dumps() try: @@ -46,23 +46,20 @@ def update_readme(summary): readme_md.write(readme) readme_md.close() except Error as e: - print(e) + logging.error('Error occurred when trying to update README.md, error: '+ e) def update_summary(name, shortname, description, installers): try: with open("./installers.toml", "r+") as installer_summary: summaary = installer_summary.read() - print (summaary) parsed_summary_toml = toml.loads(summaary) - print (parsed_summary_toml) if shortname not in parsed_summary_toml: parsed_summary_toml[shortname] = {} parsed_summary_toml[shortname]['name'] = name parsed_summary_toml[shortname]['name'] = name parsed_summary_toml[shortname]['description'] = description parsed_summary_toml[shortname]['installers'] = ",".join(installers) - print (parsed_summary_toml) installer_summary.seek(0) # sets point at the beginning of the file installer_summary.truncate() # Clear previous content installer_summary.write(toml.dumps(parsed_summary_toml)) @@ -70,8 +67,7 @@ def update_summary(name, shortname, description, installers): update_readme(parsed_summary_toml) except IOError as e: - print ("Error", e) - pass + logging.error('Error occurred when trying to update installers.toml, error: '+ e) def get_method_case(method): if method in methods: @@ -167,7 +163,6 @@ def generate(path): installer_sh.close() update_summary(parsed_toml['name'], parsed_toml['shortname'], parsed_toml['description'], installer_methods) - print("installer_methods",installer_methods) except IOError as x: if x.errno == errno.EACCES: diff --git a/generate.sh b/generate.sh new file mode 100755 index 0000000..43ca4b3 --- /dev/null +++ b/generate.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +X=() + +for word in "$@"; do + X+=$(dirname "$word " | cut -d "/" -f "1 2")" " +done + +CHANGED=$(echo $X | tr ' ' '\n' | sort | uniq | xargs) + +echo "generating for $CHANGED" +pip install toml +pip install pytablewriter +python generate.py $CHANGED