1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/usr/bin/env python3
- __doc__ = """ Scriptshifter command line interface. """
- import click
- from glob import glob
- from os import path
- from scriptshifter import DB_PATH
- from scriptshifter.tables import init_db as _init_db
- from test.integration import test_sample
- @click.group()
- def cli():
- """ Scriptshifter CLI. """
- pass
- @cli.group(name="admin")
- def admin_grp():
- """ Admin operations. """
- pass
- @admin_grp.command()
- def init_db():
- """ Initialize SS database. """
- _init_db()
- click.echo(f"Initialized Scriptshifter DB in {DB_PATH}")
- @cli.group(name="test")
- def test_grp():
- """ Test operations. """
- pass
- @test_grp.command()
- def list_samples():
- """ List string sample sets that can be tested. """
- path_ptn = path.join(
- path.dirname(path.realpath(__file__)),
- "tests", "data", "script_samples", "*.csv")
- click.echo("Sample string sets available for batch testing:")
- for fn in glob(path_ptn):
- click.echo(path.splitext(path.basename(fn))[0])
- @test_grp.command()
- @click.argument("lang")
- def samples(lang):
- """
- Test sample strings for language LANG.
- LANG must match one of the names obtained with `test list-samples` command.
- The command will generate a test report file.
- """
- return test_sample(lang)
- @cli.group(name="trans")
- def trans_grp():
- """ Transliteration and transcription operations. """
- pass
- if __name__ == "__main__":
- cli()
|