From 2955dc7d2a1ef6c62143684d2c0560fbebb6c703 Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Thu, 1 May 2025 14:23:48 -0700 Subject: [PATCH 1/3] fix(bug): Too much reliance on teams still Signed-off-by: Roger Barker --- src/static_site_generator.py | 10 +++++----- src/version2query.py | 22 +++++++++++----------- version2.py | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/static_site_generator.py b/src/static_site_generator.py index db228ff..813166d 100644 --- a/src/static_site_generator.py +++ b/src/static_site_generator.py @@ -7,13 +7,13 @@ class StaticSiteGenerator(): def __init__(self): self.GENERATOR_DATA = { - 'title': 'Version Two', + 'title': 'Version2', 'github_user': "", - 'team': "", + 'project(s)': "", 'tasks': [] } - def generate_site(self, data:list=None, teams:list[str]=None, output_file='./_site/index.html'): + def generate_site(self, data:list=None, projects:list[str]=None, output_file='./_site/index.html'): logging.info("Generating Static Site") env = Environment(loader=FileSystemLoader('templates')) template = env.get_template('kaban_board.html') @@ -24,8 +24,8 @@ def generate_site(self, data:list=None, teams:list[str]=None, output_file='./_si self.github_uname = os.getenv("GITHUB_UNAME") if os.getenv("GITHUB_UNAME") else "Not logged in" self.GENERATOR_DATA["github_user"] = self.github_uname - # Set the team(s) - self.GENERATOR_DATA["team"] = ' '.join(teams) if teams is not None else "" + # Set the project(s) + self.GENERATOR_DATA["project(s)"] = ' '.join(projects) if projects is not None else "" # Extract unique statuses from the tasks list unique_statuses = sorted({task["status"] for task in self.GENERATOR_DATA["tasks"]}) diff --git a/src/version2query.py b/src/version2query.py index f4c0440..50e06ac 100644 --- a/src/version2query.py +++ b/src/version2query.py @@ -77,15 +77,15 @@ def get_all_projects(self, orgs:list[str]) -> list[dict]: all_projects.extend(projects) return all_projects - def filter_projects_by_team(self, project_list:list[dict], teams:list[str]) -> list[dict]: + def filter_projects_by_project_name(self, project_list:list[dict], project_names:list[str]) -> list[dict]: """Filter the project list by team names.""" filtered_projects:list[dict] = [] - for team in teams: - matching_projects:list[dict] = [p for p in project_list if team.lower() in p["title"].lower()] + for pname in project_names: + matching_projects:list[dict] = [p for p in project_list if pname.lower() in p["title"].lower()] filtered_projects.extend(matching_projects) - print(f"[green]Found {len(matching_projects)} matching projects for team '{team}'[/green]") + print(f"[green]Found {len(matching_projects)} matching projects for team '{pname}'[/green]") return filtered_projects def filter_items_by_user(self) -> None: @@ -195,15 +195,15 @@ def process(self) -> bool: print("[red]No projects found. Exiting...[/red]") return False - # filter by team names + # filter by project names filtered_projects = all_projects - if self.filters.include_teams is not None: - teams = self.filters.include_teams - filtered_projects_by_teams = self.filter_projects_by_team(all_projects, teams) - if not filtered_projects_by_teams: - print("[red]No projects found matching the team names. Exiting...[/red]") + if self.filters.include_projects is not None: + project_names = self.filters.include_projects + filtered_projects_by_project_name = self.filter_projects_by_project_name(all_projects, project_names) + if not filtered_projects_by_project_name: + print("[red]No projects found matching the project names. Exiting...[/red]") return False - filtered_projects = filtered_projects_by_teams + filtered_projects = filtered_projects_by_project_name if not self.fetch_project_items(filtered_projects): print("[red]Failed to fetch project items. Exiting...[/red]") diff --git a/version2.py b/version2.py index 85fafd3..a69072b 100644 --- a/version2.py +++ b/version2.py @@ -46,7 +46,7 @@ def main(): with open(output_file, 'r') as f: data = json.load(f) - ss_gen.generate_site(data=data, teams=filters["include_teams"]) + ss_gen.generate_site(data=data, projects=filters["include_projects"]) if __name__ == "__main__": main() From 86c77f345df928155fe8af32dd788b8904bf6578 Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Thu, 1 May 2025 14:25:04 -0700 Subject: [PATCH 2/3] Fix printout when filtering by project names Signed-off-by: Roger Barker --- src/version2query.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version2query.py b/src/version2query.py index 50e06ac..19c81f2 100644 --- a/src/version2query.py +++ b/src/version2query.py @@ -85,7 +85,7 @@ def filter_projects_by_project_name(self, project_list:list[dict], project_names matching_projects:list[dict] = [p for p in project_list if pname.lower() in p["title"].lower()] filtered_projects.extend(matching_projects) - print(f"[green]Found {len(matching_projects)} matching projects for team '{pname}'[/green]") + print(f"[green]Found {len(matching_projects)} matching projects for project '{pname}'[/green]") return filtered_projects def filter_items_by_user(self) -> None: From a5776a0e867b08a7385c980dfe96b2ee01021d2a Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Thu, 1 May 2025 14:26:37 -0700 Subject: [PATCH 3/3] Update template html Signed-off-by: Roger Barker --- src/static_site_generator.py | 4 ++-- templates/kaban_board.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/static_site_generator.py b/src/static_site_generator.py index 813166d..d1e4361 100644 --- a/src/static_site_generator.py +++ b/src/static_site_generator.py @@ -9,7 +9,7 @@ def __init__(self): self.GENERATOR_DATA = { 'title': 'Version2', 'github_user': "", - 'project(s)': "", + 'project': "", 'tasks': [] } @@ -25,7 +25,7 @@ def generate_site(self, data:list=None, projects:list[str]=None, output_file='./ self.GENERATOR_DATA["github_user"] = self.github_uname # Set the project(s) - self.GENERATOR_DATA["project(s)"] = ' '.join(projects) if projects is not None else "" + self.GENERATOR_DATA["project"] = ' '.join(projects) if projects is not None else "" # Extract unique statuses from the tasks list unique_statuses = sorted({task["status"] for task in self.GENERATOR_DATA["tasks"]}) diff --git a/templates/kaban_board.html b/templates/kaban_board.html index 4d35c35..ad4dd79 100644 --- a/templates/kaban_board.html +++ b/templates/kaban_board.html @@ -43,7 +43,7 @@

{{ title }}

🧑‍💻 GitHub User: {{ github_user }}

-

♣️ Team: {{ team }}

+

♣️ Project(s): {{ project }}