From 4aca830abd7c261608b84cd693b39c476297d9bc Mon Sep 17 00:00:00 2001
From: Dilawar Singh <dilawar@subcom.tech>
Date: Wed, 28 Sep 2022 17:38:54 +0530
Subject: [PATCH] chore: minor cleanup in the cli options.

---
 README.md                                 |   3 ++-
 bitia/__main__.py                         |  30 +++++++++++++++-------
 bitia/__pycache__/__main__.cpython-39.pyc | Bin 3893 -> 4285 bytes
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 66ad82c..1522aeb 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,8 @@ This is the cli utility of the BiTIA project. The other component is
 Install it using pip.
 
 ```
-pip install bitia
+python3 -m pip install bitia
+bitia --version
 ```
 
 ## BiTIA runner
diff --git a/bitia/__main__.py b/bitia/__main__.py
index 2555dc0..fb44e67 100644
--- a/bitia/__main__.py
+++ b/bitia/__main__.py
@@ -6,17 +6,18 @@ bitia dir
 __author__ = "Dilawar Singh"
 __email__ = "dilawar@subcom.tech"
 
+import sys
 import typing as T
 import requests
 import zipfile
-import logging
-from rich.logging import RichHandler
-
 from pathlib import Path
 import tempfile
-
+import bitia
 from bitia.checksumdir import dirhash
 
+import logging
+from rich.logging import RichHandler
+
 FORMAT = "%(message)s"
 logging.basicConfig(
     level="NOTSET", format=FORMAT, datefmt="[%X]", handlers=[RichHandler()]
@@ -29,6 +30,11 @@ import typer
 app = typer.Typer()
 
 
+def version_callback(value: bool):
+    if value:
+        print(bitia.version())
+
+
 def bitia_dir() -> Path:
     """CLI cache directory"""
     bdir = Path(tempfile.gettempdir()) / "bitia"
@@ -64,7 +70,7 @@ def prepare_archive(user_dir: Path) -> Path:
     assert dinfo["files"], f"No file found in {user_dir}"
     with zipfile.ZipFile(outfile, "w", zipfile.ZIP_DEFLATED) as zfile:
         for entry in dinfo["files"]:
-            logging.info(f"Adding {entry} to zipfile")
+            logger.info(f"Adding {entry} to zipfile")
             zfile.write(entry)
 
     # check the prepared zip file.
@@ -93,8 +99,8 @@ def submit_job(pipeline_zip: Path, server: str):
 
 
 @app.command()
-def submit(user_input, server: str = "https://public.bitia.link"):
-    """Submit your job.
+def submit(user_input: str, server: str = "https://public.bitia.link"):
+    """Submit your pipelin (url, directory, zip_file).
 
     Prepare the user directory to send to the server. User can also provide link
     to the pipeline to run.
@@ -108,8 +114,14 @@ def submit(user_input, server: str = "https://public.bitia.link"):
             raise RuntimeError(f"Not supported: {path}")
         submit_job(pipeline_zip, server)
     else:
-        logger.warning(f"Fetching pipeline from url is not supported")
-        quit(-1)
+        logger.warning("Fetching pipeline from url is not supported")
+        sys.exit(-1)
+
+
+@app.command()
+def version() -> str:
+    """version information"""
+    print(bitia.version())
 
 
 if __name__ == "__main__":
diff --git a/bitia/__pycache__/__main__.cpython-39.pyc b/bitia/__pycache__/__main__.cpython-39.pyc
index 2eab3379b3ece7e3f56ff1c3656cff0a17376178..706fd50257066187dbf23dfc389e348770128f2a 100644
GIT binary patch
delta 2006
zcmZt`O>fjj)MI<?{qSx!--LwVCA4HA9~40=XoyJoC<qb|1gY}H_3lh|O}uMs>`mD%
z(h7x2y;Oo)J(Y@0Z#kn@z4XvSFKvIp{DxlIV_T_x&r72cF_z!Vd-J~Ey!Y+&52b>W
z&u1lAr_P_P{#tlen3|p=l0+p-qQoLpwq&YM)l)1b+0|#)OI_8=TG<56SvlA>&uHYW
zJdqMw!79M6djpN4RRmhv8f1kBLo~w%X_ggtq#B{Q&s8F^LT{KFyTlqv<VLMgHrgB8
zm8@}gh~}RYTA%|@RBM7|Xc4eMIt18Zmg%xdI{aLwBXkr9Q!E1vh>y{6z>fevO%DM+
zK@S6dl#TbyU5OrJ(?FjB`Vl()B(+1VQvU|1sQxH5pQu1R#%5?~OMXiDEF0gEAOQ8A
zRG#VFTy-~Yte9255ib&dUcKW)^)eAUb$Q(h@tC{oR_oWDCiNKa<ldTXurPFLtQ?B?
z7c$)iRwrVcjYy>HeWp;PDsJRDdqkwR9k0czkox_FX9fPt@P{J+9!b0yNfGJEyV4E;
z$0Tr!tnVoz6>zs1aV(_Jw;2yzzsYle?STkvf4;w1kH3>=F3eXwcQLWKXxk0PZQAxi
z&=$p4GIrJRyoyuZDuGa_0+5JG_z>)|B3Gu-z{Z{|^uXb)8HFOv9=c&<`&(s|%khpp
zyOh}LgF)aHnZ%k6S$Z4LPy-;zMN%Mq0#0RFq+225c+ZF9Ddo3|=r53UH?%ihj|rW#
z(D$|(n3We!3$l68LUzdmAD}M5@?v~d{p|P=&~T6`vs7bE_Aubfr}4J*@^{rFM8red
zyR(OpatcBD4U%ba&32oc{(Ky0C2}_YLi>JH?kP0?DD{;@3tua{P>V-uFB{wXIg*RN
z)E9{n|D->jKy{r#b8U6bjQq&)ObjTz$WO+0dQ8KT@>B6A>AT%LKZ^)fn=b$mDjG~O
zB(#36`5~n19XIG_#d3pdm>$EramT)L_1dkKjjLBg>SOLkOr)DmgJD+qBuJGtjv-np
zidtdA_bPP16`?9C)tO6Frl6v{eK2tY0cYre?eJ>d-Db=2<ID+i>E&K#fLu5RYCFop
znaz%2-drt1lx9?CCSO5cWnSs%i(#wMa3koBG#Wv_Hp&Ww{YQ4TI|FR|I06iszlTz)
zAF!rSz;#OveAvza)yhIt-1gii3wZ$uWj(RMSMgF0q0!*QL)fiGr5yneR#OlzR1`TF
zQnv4ttv>K8_v0725?PCX%pIMVMK*bhZZl{_iR!8hdj4D34*UHW#Kf>}jzpOr3_^SW
zQLblD6;Ct;ZK-v>xtBz4w*3}212=$rG|kx-_vTD^QLGyIygg?^J(Fi%jz2Y8<Xrrh
zu{v`C46T>*9E}St>99~}&=1%omw?D8<B#&C>uY#SGWQO0Dq%YmDzHb;jJNR)vm?|1
z230>>*joK$B(16S^T6Vt^OM~V;jRk*YimDTlzeUU5QtIk48NKiX7XGcP6Sn0=XqfM
zU(OS&Xpj#8Xu}^SX;l(jq?18pz$7XYz7DtL<MH2lv&-+pS!hu^aGNzjHuwjC^YciA
z@e|cOw~}Otk0Tu?lQo#knuTheRky-c1Ji{O2;K8*HPm8on9vKaFpdSav}?ETuB~i{
zT*V39>Se#V>DEN1#xl_@5MrD!#7_%jU7=Qd-%BQ8(w51y?04-YP{VH^z=BvhOri$N
zca9m|4-p@}ZNDiiBE8h`Y0G2FIPk+I0BTAls+=bM&w%}8nixPZWVj&4Kbo4A({frV
VqzZa*usB{UYGh<sBgIsf{0ra(_J;rf

delta 1600
zcmZ8hNpBoQ6z=NjZMu7U#&#TMv7H&RxueKNAqIpTLl&DvWK%L?DVA2xRLx8$y{Wn<
z#6ysUoC8AQ5Y-70BwOO*3qp!OTsZR&K<XQuIdI^Fgy2;V0puC!y{fP3y?WnU`uo;5
z^NwGunG*cIeCBNT$J!%jcK&zR5eZ8KVMJsslL}G73RX(3KDyl6)Iu||u!W=&vat<X
z4{MQw9l#7+r}~`+snR+zX?08LBVv83Ac^YR6U5#@c(Syc!c%l=d*6<Pr>RA1j}dW5
z{h@;QQ;W`!#$%aGkV)7dfW1}jr^r6oA6x<85SfMx`^gLdhw1e8?2bg{06hq94w1tT
z)h&eQ=scOdE3@C|^p*sHDYqqep1*@e)VdXP2bcYrgp|3cP;UD90JKg5Ht@5-$U43d
z(Jb@()XlJV{YLxtT6?6tef-ULU8PV%dXI*M)=OCA=U69xPJ2;a7=y9HtWY~a9{BuE
zxifD-GTXZ{)>EI+IL``$-Vd_eOYXV~tMCsi3(Bs<9R8Vn>f%y243<jMCC`ieAoje)
zbfc)2kO#3H0cV*8LXsQEL978QS1ycUMwvKgRsM73*K^Jo)`QIJ1tG;cqgfK(qq}k;
zFFsqK9uqglq7JLVTnQnjZW5)d3*1ycJ~s95d3m$ER9)%QnBGs>sw+-so_wn|5yJc@
z?fHcXfwY7WA?|f=KxkeN_mUHQS#KeizoCCOZEjac?ScBaM4T@wI|xY+lx>S2GnSFf
zv9W||{1fA&W#Mi#(Y$uybTdzKKWqv@**Vq(99PpIrC|`$><?ve6r^n?I+?ZjE7e<@
z4lBb{1acHap@;~|loi^z7_2669W2Lb!a=$&@@3;IH@!=1>sQaW*De)$nDqNW+%MGk
zS&&m~#C`;?W;vS#b5~=6JXVQt4@&e8)|2I7UOH7rLKQ01o^9++Og&{(gyQ+EI|%O4
z7x+2zBs%kinsqdH0Njo$i)VTxyZPD$7x*{x0d2D9#B=<SHH%vOD{Eo%Ane&8Ap}i!
z8bqNaDUFK?#E6wN0d*2kY(n_VD-%|zDGTD<)k}BmtT@&)X!#(Cf#ERfY~(a6OIjdS
zD8guO^kz2fM1hujcaqL^{+8WBtNa7|NCmO8eAk{sG5^8FrzZ32wn@qg=N3`6pwdKz
zLDWWDw}pM)+(?G32|jpO8=_PEm)eD+a}dvU*Jc$#Mk^;KD>Ue5(d1_UWRv_=r*&mj
zEKAxa#OgQ*SHWgE4?&y`^O9Miq%hxOrh7VHD>>xv@voi3GwWbp7*9vfMeJqa?+Aar
z-rU4mzLAP9KyCJ-cxzFJB@ozV@G)8Zr%RX&Pyy4P55k~R5@5EtWpxL%dp8?Kf`aHu
ztgYX;b?tl`TOB_Ox)+nU7xZzpPxGtLaFmt2unNyohIzGNZI;bjmU7(NWg=bzS4`vq
z>oC9(e1h0h9->h_?|)_cZ<vjhC?Ug;t|G9^gd;^&kRlss{I_KrR<;Znvj5T)Q#Ry=
SQE~LfL}RAW(9q<Rf&K=t3Y}>H

-- 
GitLab