|
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() |
|
|