Browse Source

fix: refactor cli switches

Steve Nyemba 6 tháng trước cách đây
mục cha
commit
c3627586b3
1 tập tin đã thay đổi với 7 bổ sung5 xóa
  1. 7 5
      bin/transport

+ 7 - 5
bin/transport

@@ -36,9 +36,10 @@ from enum import Enum
 from rich import print
 
 app = typer.Typer()
-app_x = typer.Typer()
-app_i = typer.Typer()
-app_r = typer.Typer()
+app_e = typer.Typer()   #-- handles etl (run, generate)
+app_x = typer.Typer()   #-- handles plugins (list,add, test)
+app_i = typer.Typer()   #-- handles information (version, license)
+app_r = typer.Typer()   #-- handles registry    
 REGISTRY_PATH=os.sep.join([os.environ['HOME'],'.data-transport'])
 REGISTRY_FILE= 'transport-registry.json'
 CHECK_MARK = '[ [green]\u2713[/green] ]' #' '.join(['[',colored(u'\u2713', 'green'),']'])
@@ -54,7 +55,7 @@ def wait (jobs):
     while jobs :
             jobs = [pthread for pthread in jobs if pthread.is_alive()]
 
-@app.command(name="etl")
+@app_e.command(name="run")
 def apply (path:Annotated[str,typer.Argument(help="path of the configuration file")],
         index:int = typer.Option(default= None, help="index of the item of interest, otherwise everything in the file will be processed"),
         batch:int = typer.Option(default=5, help="The number of parallel processes to run at once")
@@ -113,7 +114,7 @@ def info():
     print ()
     print (transport.__license__)
 
-@app.command()
+@app_e.command()
 def generate (path:Annotated[str,typer.Argument(help="path of the ETL configuration file template (name included)")]):
     """
     This function will generate a configuration template to give a sense of how to create one
@@ -206,6 +207,7 @@ def registry_test (key):
         print (pd.DataFrame([_item]))
     else:
         print (f"{TIMES_MARK} unable to load \033[1m{key}\033[0m. Make sure it is registered")
+app.add_typer(app_e,name='etl',help="This function will run etl or generate a template etl configuration file")
 app.add_typer(app_r,name='registry',help='This function allows labeling database access information')
 app.add_typer(app_i,name="info",help="This function will print either license or supported database technologies")
 app.add_typer(app_x, name="plugins",help="This function enables add/list/test of plugins in the registry")