mirror of
https://github.com/revanced/revanced-static-api.git
synced 2025-05-02 15:44:26 +02:00
refactor: Rename classes correctly
This commit is contained in:
parent
75eccddc5b
commit
2e02584a9a
@ -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)
|
||||||
])
|
])
|
||||||
|
4
main.py
4
main.py
@ -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"]:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user