Skip to content

Commit

Permalink
feat: add cli
Browse files Browse the repository at this point in the history
  • Loading branch information
34j committed Oct 10, 2023
1 parent 71ef609 commit cb9dab8
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 13 deletions.
4 changes: 4 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ packages = [
{ include = "ut_course_catalog", from = "src" },
]

[tool.poetry.scripts]
ut-course-catalog = "ut_course_catalog.cli:cli"
utcc = "ut_course_catalog.cli:cli"

[tool.poetry.urls]
"Bug Tracker" = "https://github.com/34j/ut-course-catalog/issues"
"Changelog" = "https://github.com/34j/ut-course-catalog/blob/main/CHANGELOG.md"
Expand Down
15 changes: 2 additions & 13 deletions src/ut_course_catalog/__main__.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,4 @@
"""Console script for ut_course_catalog."""
import sys

import click


@click.command()
def main(args=None):
"""Console script for ut_course_catalog."""
raise NotImplementedError("This is a stub.")
return -1

from .cli import cli

if __name__ == "__main__":
sys.exit(main()) # pragma: no cover
cli()
29 changes: 29 additions & 0 deletions src/ut_course_catalog/cli.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"""Console script for ut_course_catalog."""
import asyncio
from datetime import datetime, timedelta

import click

import ut_course_catalog.ja as utcc


@click.command()
@click.option(
"-m",
"--min-interval",
default=0.5,
help="Minimum interval between calls in seconds.",
)
def cli(min_interval: float) -> None:
asyncio.run(_main(min_interval))


async def _main(min_interval: float) -> None:
params = utcc.SearchParams()
async with utcc.UTCourseCatalog(
min_interval=timedelta(seconds=min_interval)
) as catalog:
t = datetime.now().strftime("%Y%m%d%H%M%S")
await catalog.fetch_and_save_search_detail_all_pandas(
params, filename=f"All_{t}.pkl"
)

0 comments on commit cb9dab8

Please sign in to comment.