from pathlib import Path | |
def main(): | |
content = create_content() | |
with open("g4f/provider/__init__.py", "w", encoding="utf-8") as f: | |
f.write(content) | |
def create_content(): | |
path = Path() | |
paths = path.glob("g4f/provider/*.py") | |
paths = [p for p in paths if p.name not in ["__init__.py", "base_provider.py"]] | |
classnames = [p.stem for p in paths] | |
import_lines = [f"from .{name} import {name}" for name in classnames] | |
import_content = "\n".join(import_lines) | |
classnames.insert(0, "BaseProvider") | |
all_content = [f' "{name}"' for name in classnames] | |
all_content = ",\n".join(all_content) | |
all_content = f"__all__ = [\n{all_content},\n]" | |
return f"""from .base_provider import BaseProvider | |
{import_content} | |
{all_content} | |
""" | |
if __name__ == "__main__": | |
main() |