You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gpt4free/etc/tool/provider_init.py

34 lines
824 B
Python

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