refactor: Rename classes correctly

This commit is contained in:
oSumAtrIX 2023-10-29 23:23:22 +01:00
parent 75eccddc5b
commit 2e02584a9a
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4
2 changed files with 27 additions and 28 deletions

View File

@ -1,30 +1,29 @@
import json
from os.path import join from os.path import join
from app import api from app import api
from app.utils import get_repository_name, to_json, write_json, read_json, create_if_not_exists from app.utils import get_repository_name, to_json, write_json, read_json, create_if_not_exists
from abc import abstractmethod from abc import abstractmethod
class Api: class Generator:
_api: api.Api _api: api.Api
def __init__(self, name: str, api: api.Api = api.GitHubApi()): def __init__(self, name: str, api: api.Api):
self.name = name self.name = name
self._api = api self._api = api
@abstractmethod @abstractmethod
def generate(self, config, path): def generate(self, config, path):
""" """
Generates the api based on the config to the path. Generates static files based on the supplied config to the specified path.
Args: Args:
config (dict): The config for the api config (dict): The configuration for the generator
path (str): The path where the api should be generated path (str): The path to generate the static files to
""" """
raise NotImplementedError raise NotImplementedError
class ReleaseApi(Api): class ReleaseGenerator(Generator):
def __init__(self, api): def __init__(self, api):
super().__init__("release", api) super().__init__("release", api)
@ -60,7 +59,7 @@ class ReleaseApi(Api):
write_json(index, index_path) write_json(index, index_path)
class ContributorApi(Api): class ContributorGenerator(Generator):
def __init__(self, api): def __init__(self, api):
super().__init__("contributor", api) super().__init__("contributor", api)
@ -79,7 +78,7 @@ class ContributorApi(Api):
write_json(contributors, contributors_path) write_json(contributors, contributors_path)
class SocialApi(Api): class SocialGenerator(Generator):
def __init__(self, api): def __init__(self, api):
super().__init__("social", api) super().__init__("social", api)
@ -91,7 +90,7 @@ class SocialApi(Api):
write_json(new_social, social_path) write_json(new_social, social_path)
class TeamApi(Api): class TeamGenerator(Generator):
def __init__(self, api): def __init__(self, api):
super().__init__("team", api) super().__init__("team", api)
@ -105,7 +104,7 @@ class TeamApi(Api):
write_json(team, team_path) write_json(team, team_path)
class DonationApi(Api): class DonationGenerator(Generator):
def __init__(self, api): def __init__(self, api):
super().__init__("donation", api) super().__init__("donation", api)
@ -117,28 +116,28 @@ class DonationApi(Api):
write_json(donation, donation_path) write_json(donation, donation_path)
class ApiProvider: class GeneratorProvider:
_apis: list[Api] generators: list[Generator]
def __init__(self, apis: list[Api]): def __init__(self, generators: list[Generator]):
self._apis = apis self.generators = generators
def get(self, name: str) -> Api | None: def get(self, name: str) -> Generator | None:
for api in self._apis: for generator in self.generators:
if api.name == name: if generator.name == name:
return api return generator
return None return None
class DefaultApiProvider(ApiProvider): class DefaultGeneratorProvider(GeneratorProvider):
def __init__(self): def __init__(self):
self._api = api.GitHubApi() # Use GitHub as default api self._api = api.GitHubApi()
super().__init__([ super().__init__([
ReleaseApi(self._api), ReleaseGenerator(self._api),
ContributorApi(self._api), ContributorGenerator(self._api),
SocialApi(self._api), SocialGenerator(self._api),
TeamApi(self._api), TeamGenerator(self._api),
DonationApi(self._api) DonationGenerator(self._api)
]) ])

View File

@ -1,12 +1,12 @@
from app.config import load_config from app.config import load_config
from app.generator import DefaultApiProvider from app.generator import DefaultGeneratorProvider
config = load_config() config = load_config()
output = config["output"] output = config["output"]
apis = config["api"] apis = config["api"]
api_provider = DefaultApiProvider() api_provider = DefaultGeneratorProvider()
for api in apis: for api in apis:
for generator_name in api["generators"]: for generator_name in api["generators"]: