From 0ff6ac2e6d906cc421c3593ac45bb45b0d6a7ca3 Mon Sep 17 00:00:00 2001 From: Linuxoid85 Date: Fri, 31 Dec 2021 02:27:48 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B8=D0=BC?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=D0=BC=D0=B8?= =?UTF-8?q?=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=BA=20=D0=B5=D0=B4=D0=B8=D0=BD=D0=BE=D0=BC=D1=83=20=D0=B2?= =?UTF-8?q?=D0=BD=D0=B5=D1=88=D0=BD=D0=B5=D0=BC=D1=83=20=D0=B2=D0=B8=D0=B4?= =?UTF-8?q?=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__pycache__/cp_default.cpython-310.pyc | Bin 0 -> 4327 bytes src/__pycache__/cp_info.cpython-310.pyc | Bin 0 -> 2033 bytes src/__pycache__/cp_install.cpython-310.pyc | Bin 0 -> 2078 bytes src/__pycache__/cp_remove.cpython-310.pyc | Bin 0 -> 1347 bytes src/cp_default.py | 21 ++++++++++++----- src/cp_info.py | 25 +++++++++++++++++++-- src/cp_install.py | 3 +++ src/cp_remove.py | 9 ++++++++ src/cport.log | 7 ------ src/main.py | 8 +++++++ 10 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 src/__pycache__/cp_default.cpython-310.pyc create mode 100644 src/__pycache__/cp_info.cpython-310.pyc create mode 100644 src/__pycache__/cp_install.cpython-310.pyc create mode 100644 src/__pycache__/cp_remove.cpython-310.pyc delete mode 100644 src/cport.log diff --git a/src/__pycache__/cp_default.cpython-310.pyc b/src/__pycache__/cp_default.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b64518dc916e39cfae129e9d9bcc5c1532b02d58 GIT binary patch literal 4327 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 literal 0 HcmV?d00001 diff --git a/src/__pycache__/cp_info.cpython-310.pyc b/src/__pycache__/cp_info.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a7c83265076c6c5e939e39b44210465cbb38159a GIT binary patch literal 2033 zcmd1j<>g{vU|`^MIG4DQn}Ojmh=Yt-7#J8F7#J9eLl_tsQW#Pga~Pr^G-DJan9mf& zoX(KKw1_c^C7mIKc@bk2YdS*;%Ob`oHg|>;))clDh7`6`_GacN4tItW_7sj5h7=Ak zpEHFqm_d{CCCENMP1aj1d5O8Hx7f>4i;6Sz^KNmcq!uR^WfqiV=I2Fm6clCV7iE@I zMsejPX6BV7X6B_9X|hIf6r~oHW)`KUL~-PURVL;{aTcW}=jZ08=B3B#T84pvA(a8-(I}=A#uTO& zhA8F~<`k9|hA5U4)?fxrwp+~UsU^uE4KM>(85kHi7#J9wL7_Hb zy^w*Cp@s$IaKB${Zkai$3hKXj)vXlr@=Fxb@=Nnl6kjqjFfjZQwNgj}$z~RVr9h#V znXdSY6RvJ0&n>3>;#({Qi6t4g*fNVjs&6qTr=;Ct&dE=|#hF@ElwTB|TbzE2CAA{6 z;bCNBWMkxD zVqvV}OiwM*1M9&Zvoq))vm7@5sYY$+U|(&rWnD3#n| z2PL`8^x|Yt@`q(*kkOzZ1c!tX0|P@1g9}5fNG)Rth~}?lDq*Z)n$3{HSi-b`xrVWZ zX(7{WhPmL(T*y|)l)@Cupvmm_i^)o%2xP1#%Pr27)PiDgy1d0&P?VWh0`?O)6jm}9 zseuAR8bpA@1{@e*0u&;**i%vqQu9)ZBS4`7ic}6p4n`S9rvEHVRXiY1=s^`w)ej88 z3@e%Ziqshx7&KXKae?wV!~;c|AcumY2@;c9ATHRoU;^x9RU_4@7_xA0!un zeGeu;K~SX1z`zg=3ILF=I2iaC`Pg_^!J?X6MSLKwVj%Olk_+NfQqvMkb4rQ?L8742 zst6PSMYg{vU|`6%J(t+R!@%$u#6iX^3=9ko3=9m#9t;c&DGVu$ISf${nlXwI%x8*X z0@KV<%wU=&iZzuri!F*Rl{Je!irt+dg(-!(g&~DGm7|$CiZg{Vm_d`}CCCoHWDtpr znPIkRFfcHrGJtG|VoKoxo4^>woWhdA+QJaUlER(Bp2E?>7{!{x8O)%`bBjGQuec;J zC+8M>N@`kSX--Kp$RwD_Yzzzx>7@ELp56%r%U&8B$p0GN-Vnu=O%AGL$f9u`OV)VP42ss1i7h~5v+n`0apqqSSMEv(`<$m?zyZBK{D(MxNBHym=-cIGNdpBgUn)C zz>~rQmg7y~ZDxdsYx4P3ap*(+RK=s8oS&DLnXZ>roS#=E6rknUexy zBq|i-7nLZeSFxz;>FM2K06_wJb!F@fKS_d}>8zNtHOJKCrGT9);3kkSQe@ zsS4^8I#U9`v6yo9;bc;DTCG8e-PJa3==G@}+Tdc_$sma+zObiSRx3~(5 zGV@B}GxO5&Z?UChCV~{P=j5lygB5~(cZ(BjJ6MDTTP($?IcY_l3=9lKprm_? z17vS}N@h_M510iFwkU2e4-#}M8Hywr7#MyT=x5~Trs^lAnDR$>lYU#>n9h)LygcYsJz7yAD@|*SrQ+w0!lnG3=9lxjBJb?OdO0Hj1o*@OgxNi zOahE7{{@(Nn0Xkh1YlZW+LA$`151dk3=9mMu!MMxfq@~NA%$@fV=ZG9PYFW}Lkd$f zQ!P^o;{v7{riF~P%;5}qW-JUP%#|vP3?Nv-lEu1!Erq#;0g@y^$tIE^g*BLgg`tGK z(j26QkpV>&+gxUZDinEkuqhnK@->Vu46*XHELFTE95pPn8B#cFm}^)h8D=xgWds z#LT?ZqFd}msX3{M#i>yo1x1y9gE-_CTUlaGX=?E;#X_7T>nK_s(4{>0WOvN zG#QIP^@}EBkv6F8V*`~Epwu28e~T+VJ~uz5G$%Da{uWPsd|_!~4n(F%3S=wD^dgX5 z5UbG~0g7B@kRv!47#KJhxEMLa_@u!;(B!(slwW*{xwx{pND*X^9ylD53*w;_9wdmk xL88n){_eNf@{_VslS{ywvDtNt!v^9`J5cl#3xO<@1Qlu^%*MpVD8R&G4*+fJ2CD!7 literal 0 HcmV?d00001 diff --git a/src/__pycache__/cp_remove.cpython-310.pyc b/src/__pycache__/cp_remove.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..78f5437eee4197328b2632b34d8dad590859b3de GIT binary patch literal 1347 zcmd1j<>g{vU|`r_e=hL~I|IXG5C<8vFfcGUFfcF_M=&rjq%fo~<}gG-XvQc;FrO)k z2~0CbF@tHAC>Aiy8pQ^t*`qj8IkGsTI8!;YxT3h+8B&;1m|GZ9m{Yl%nWK187=sx! zSzdzd^h*Yj$e0Ocy9@&ZLn;Hv#wex~#uTO&hA8F~<`k9|hA5U4)?fxrwp(mPsk!-O zsmUNcFf&*g7#Ki4a0dCHje&uohOvero}q-XhEbfMmZ^p*g;AU#ow1g=hAD+foS~Mb zgei+TizS7*hH*AS3d>yP6xI~BUM5C{5~eKH1#C4;3mJ=SOW0G`!SWn)nVT6I8A>>^ zI2Ul$FfRnLnX=KQApaT`#LR zKd*{iAL9Bd@!*ogq7nr#FEcM)AyJ_qzo++t2H@Vv#6nU|Iy#SSsOIEpPLGZCbR z3+%Ym_=4>8TPz@3G+A%46sP8-6|plgFhp^H?21pxEQ;a=vmoBQ1>r!nu4E_@W?*3W zrLUinpPQXUCT#Ouy5==Zy0*pM2JdAuyJWN&mP(3j9$)JFMr3#Qo;i)2kfq|if zA&W5!oUT%s!LiMp#ZtqN!ji(;%T&u)!!HK2?T)?yh3t*Zb43JNvfhIM-eB; zTu_cK;$~oAxW!dmnp9AfpPX7;e2clLH18G{#1xPrw>VRait>x%K`DSOKO01AG8GAd z43Gd3pcn#2Q;`UW%g?~TU;zqsJ_ZH`0Y*MXE+#fc7DlfBA}m#c5dY~xC{V)i(_{rj zR$gLmYJB`HuK4)e{FKrh5Su4HzOXbg2O?7>3NspF6Plf%h*AaF$;QCIz`?-5$Rh+! zrJB6AnDUEnF&9@BN3nqN&n=dc%-qx>agd+clMCWO3AczB#N$dXh)+pPODxSPfdmc* vD2+1v_`Ba?%TLNmO)deOh|T(295xVF+ks-H7!(Q|k{pZ($i~FRD8d8)&3{N* literal 0 HcmV?d00001 diff --git a/src/cp_default.py b/src/cp_default.py index 60cf7c9..3b44d0e 100755 --- a/src/cp_default.py +++ b/src/cp_default.py @@ -36,13 +36,22 @@ except: PORTDIR = "./ports/" LOG = "./cport.log" -def dialog(): - run = input("Continue? (y/n)") - - if run == "y" or run == "Y": - return 0 +def dialog(p_exit=False, default_no=False): + print("\n> Continue?", end=" ") + if default_no: + print("(y/N)", end=" ") else: - return 1 + print("(Y/n)", end=" ") + + run = input() + + if run == "n" or run == "N": + if p_exit: + print("Aborted!") + exit(1) + else: + print("Aborted!") + return 1 class log(object): """Log functions""" diff --git a/src/cp_info.py b/src/cp_info.py index 916d166..a1561eb 100644 --- a/src/cp_info.py +++ b/src/cp_info.py @@ -29,7 +29,7 @@ import cp_default as cdf base_info = [ "name", "version", "description", - "priority", "maintainer", "deps" + "priority", "maintainer" ] deps_info = [ @@ -64,11 +64,32 @@ class get(object): f.close() return prm + def param_dep(config, conf_param): + if not os.path.isfile(config): + cdf.log.error_msg(f"File '{config}': not found!") + exit(1) + + try: + f = open(config) + data = json.load(f) + except KeyError: + cdf.log.error_msg(f"File '{config}: file is not config!") + exit(1) + + try: + prm = data['deps'][conf_param] + except: + prm = "not found" + + f.close() + return prm + class info(object): def depends(configs: list): for config in configs: for param in deps_info: - print(f"{param}: {get.param(config, param)}") + print(f"{param}: {get.param_dep(config, param)}") + return 0 def files(configs: list): for config in configs: diff --git a/src/cp_install.py b/src/cp_install.py index 3e732ee..da10803 100755 --- a/src/cp_install.py +++ b/src/cp_install.py @@ -44,10 +44,13 @@ class install(object): cdf.log.msg(f"Starting building a port '{port}'...", prev="\n") if cdf.check.install(port_dir) and install.print_info(port_config): + cdf.dialog(p_exit=True) + cdf.log.log_msg( f"Starting building port {port} using the '{flags}' flags..." ) install.build(port_install, flags) + else: cdf.log.error_msg(f"Some errors while testing port files!") exit(1) diff --git a/src/cp_remove.py b/src/cp_remove.py index 350f69d..84f70f5 100755 --- a/src/cp_remove.py +++ b/src/cp_remove.py @@ -28,6 +28,7 @@ import sys import json import time import subprocess +import cp_info as cpI import cp_default as cdf PORTDIR = cdf.PORTDIR @@ -38,14 +39,22 @@ class remove(object): self.port = port port_dir = PORTDIR + port + port_config = [port_dir+"/config.json"] port_remove = port_dir + "/remove" + cdf.log.msg(f"Start removing a port '{port}'...", prev="\n") + if cdf.check.remove(port_dir): + print(f"Port '{port}' dependencies:\n") + cpI.info.depends(port_config) + cdf.dialog(p_exit=True) + remove.remove_pkg(port_remove) else: exit(1) def remove_pkg(port_remove): + cdf.log.msg("Executing a remove script...", prev="\n") run = subprocess.run(port_remove, shell=True) if run.returncode != 0: diff --git a/src/cport.log b/src/cport.log deleted file mode 100644 index ec6c503..0000000 --- a/src/cport.log +++ /dev/null @@ -1,7 +0,0 @@ -[ Fri Dec 31 01:20:36 2021 ] - Starting building port vim using the 'default' flags... -[ Fri Dec 31 01:21:14 2021 ] - Starting building port vim using the 'default' flags... -[ Fri Dec 31 01:21:14 2021 ] - Build complete! -[ Fri Dec 31 01:21:38 2021 ] - Remove complete! -[ Fri Dec 31 01:37:31 2021 ] - Remove complete! -[ Fri Dec 31 01:37:35 2021 ] - Starting building port vim using the 'default' flags... -[ Fri Dec 31 01:37:35 2021 ] - Build complete! diff --git a/src/main.py b/src/main.py index 89c532e..be827f7 100755 --- a/src/main.py +++ b/src/main.py @@ -78,6 +78,10 @@ if args.install: except KeyboardInterrupt: cdf.log.error_msg("Keyboarg Interrupt!") exit(1) + + except SystemExit: + print("\n\nAn incorrigible error occurred during the build!") + exit(1) except: cdf.log.error_msg(f"Install port '{args.install}': Uknown error!") @@ -96,6 +100,10 @@ elif args.remove: cdf.log.error_msg("Keyboard Interrupt!") exit(1) + except SystemExit: + print("\n\nAn incorrigible error occurred during the build!") + exit(1) + except: cdf.log.error_msg(f"Remove port '{args.remove}': Uknown error!") exit(1) -- GitLab