From fd029aec7875d243aee7cda450def87439e6cfb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Fri, 23 Apr 2021 18:58:01 +0200 Subject: [PATCH] feat: update awesome_workflow.yml to use build_directory_md.py from scripts repository (#1486) * Update awesome_workflow.yml * Also include .h and .hpp in DIRECTORY.md * updating DIRECTORY.md Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> --- .github/workflows/awesome_workflow.yml | 47 ++------------------------ DIRECTORY.md | 1 - 2 files changed, 3 insertions(+), 45 deletions(-) diff --git a/.github/workflows/awesome_workflow.yml b/.github/workflows/awesome_workflow.yml index 78ea62c7b..225f659e1 100644 --- a/.github/workflows/awesome_workflow.yml +++ b/.github/workflows/awesome_workflow.yml @@ -47,51 +47,10 @@ jobs: git commit -am "formatting filenames ${GITHUB_SHA::8}" || true - name: Update DIRECTORY.md - shell: python run: | - import os - from typing import Iterator - - URL_BASE = "https://github.com/TheAlgorithms/C-Plus-Plus/blob/master" - g_output = [] - - def good_filepaths(top_dir: str = ".") -> Iterator[str]: - cpp_exts = tuple(".c .c++ .cc .cpp .cu .cuh .cxx .h .h++ .hh .hpp .hxx".split()) - for dirpath, dirnames, filenames in os.walk(top_dir): - dirnames[:] = [d for d in dirnames if d[0] not in "._"] - for filename in filenames: - if os.path.splitext(filename)[1].lower() in cpp_exts: - yield os.path.join(dirpath, filename).lstrip("./") - - def md_prefix(i): - return f"{i * ' '}*" if i else "\n##" - - def print_path(old_path: str, new_path: str) -> str: - global g_output - old_parts = old_path.split(os.sep) - for i, new_part in enumerate(new_path.split(os.sep)): - if i + 1 > len(old_parts) or old_parts[i] != new_part: - if new_part: - g_output.append(f"{md_prefix(i)} {new_part.replace('_', ' ').title()}") - return new_path - - def build_directory_md(top_dir: str = ".") -> str: - global g_output - old_path = "" - for filepath in sorted(good_filepaths(), key=str.lower): - filepath, filename = os.path.split(filepath) - if filepath != old_path: - old_path = print_path(old_path, filepath) - indent = (filepath.count(os.sep) + 1) if filepath else 0 - url = "/".join((URL_BASE, filepath, filename)).replace(" ", "%20") - filename = os.path.splitext(filename.replace("_", " ").title())[0] - g_output.append(f"{md_prefix(indent)} [{filename}]({url})") - return "# List of all files\n" + "\n".join(g_output) - - with open("DIRECTORY.md", "w") as out_file: - out_file.write(build_directory_md(".") + "\n") - - name: Commit DIRECTORY.md - run: git commit -m "updating DIRECTORY.md" DIRECTORY.md || true + wget https://raw.githubusercontent.com/TheAlgorithms/scripts/main/build_directory_md.py + python3 build_directory_md.py C-Plus-Plus . .cpp,.hpp,.h > DIRECTORY.md + git commit -m "updating DIRECTORY.md" DIRECTORY.md || true - name: Get file changes run: | git remote -v diff --git a/DIRECTORY.md b/DIRECTORY.md index a5142cbec..f70fba227 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -1,4 +1,3 @@ -# List of all files ## Backtracking * [Graph Coloring](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/graph_coloring.cpp)