Skip to content

Commit

Permalink
‣ Update CLI directory structure to further improve maintainability.
Browse files Browse the repository at this point in the history
  • Loading branch information
eli64s committed Sep 30, 2023
1 parent 8aa40b1 commit 8ede094
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 16 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "readmeai"
version = "0.3.099"
version = "0.3.0999"
description = "🚀 Generate beautiful README.md files from the terminal. Powered by OpenAI's GPT LLMs 💫"
authors = ["Eli <0x.eli.64s@gmail.com>"]
license = "MIT"
Expand Down
29 changes: 28 additions & 1 deletion readmeai/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,34 @@
logger = logger.Logger(__name__)


async def run_model(
def run_app(
api_key: str,
encoding: str,
endpoint: str,
offline_mode: bool,
model: str,
output: str,
repository: str,
temperature: float,
language: str,
style: int,
) -> None:
"""Orchestrates the README file generation process."""
config = conf.load_config()
config_model = conf.AppConfigModel(app=config)
config_helper = conf.load_config_helper(config_model)
config.api.model = model
config.paths.readme = output
config.api.temperature = temperature
config.api.offline_mode = offline_mode
config.git = conf.GitConfig(repository=repository)
if api_key is None and offline_mode is False:
config.api.offline_mode = offline_mode

asyncio.run(generate_readme(config, config_helper))


async def generate_readme(
config: conf.AppConfig, config_helper: conf.ConfigHelper
) -> None:
"""Orchestrates the README file generation process."""
Expand Down
27 changes: 13 additions & 14 deletions readmeai/cli/main.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
"""CLI commands for readme-ai."""

import asyncio
from typing import Optional

import click

from readmeai.cli import options

from .. import app, conf
from readmeai.app import run_app


@click.command()
Expand All @@ -34,18 +33,18 @@ def cli(
style: Optional[int],
):
"""CLI entrypoint for readme-ai."""
config = conf.load_config()
config_model = conf.AppConfigModel(app=config)
config_helper = conf.load_config_helper(config_model)
config.api.model = model
config.paths.readme = output
config.api.temperature = temperature
config.api.offline_mode = offline_mode
config.git = conf.GitConfig(repository=repository)
if api_key is None and offline_mode is False:
config.api.offline_mode = offline_mode

asyncio.run(app.run_model(config, config_helper))
run_app(
api_key=api_key,
encoding=encoding,
endpoint=endpoint,
offline_mode=offline_mode,
model=model,
output=output,
repository=repository,
temperature=temperature,
language=language,
style=style,
)


if __name__ == "__main__":
Expand Down

0 comments on commit 8ede094

Please sign in to comment.