From f73c5cf162410c95f42bdeb68b1b275c61a5beab Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Mon, 26 Apr 2010 13:21:06 +0400 Subject: [PATCH] Started cl-install --- i18n/cl_install_ru.mo | Bin 576 -> 2416 bytes pym/__init__.py | 1 - pym/cl_fill_install.py | 36 +++++++++++++ pym/cl_install.py | 87 +++++++++++++++++++++++++++---- pym/cl_vars_install.py | 35 +++++++++++++ pym/install_opt.py | 116 +++++++++++++++++++++++++++++++++++++++++ scripts/cl-install | 17 ++++-- 7 files changed, 276 insertions(+), 16 deletions(-) create mode 100644 pym/cl_fill_install.py create mode 100644 pym/cl_vars_install.py create mode 100644 pym/install_opt.py diff --git a/i18n/cl_install_ru.mo b/i18n/cl_install_ru.mo index 5b018a28d590bd60255ad270cb2a91eedef3d8f4..9b4e74b362fe8971f7112a41eb456643bcadcb77 100644 GIT binary patch literal 2416 zcmZ`(O>^5+6n#K}VhVu*J3bzZ(56AD(VwrZQ$?G`U!9toc;mkuzvz% zOyG?O{{&K=(N{t~SAoOy9C#hr0ODjvUuCQh*aQ3+_!*Gu{|fjWuntTE{{jvHPakD$ z3|IhCoxcM6fqwwc0@-Vfod*m7K~EoV;!avo{n%zPTt{#rB!ipQhqzJ?P>w#R)`Q3E zSU@s;5bxvBe}Xq~kyiSc^DW!*>%8bnZaJQB+P3LiuER~I!1JzCv`RG@?zlxhZrb@8 z3a86>GN57fflH^S1D~ZFxRB#P@)&Si)0}xmBI5 z*Gr(X1=F@rP}#NeBEfqlKZ*aYCwNi172fOhF(j!<%keu|uy*sp^Y#fc4+L$~Db>u9 z&M9Ta>O- ziu$FCh<5g^snlMNO-uJ%k@t;s!MGN(PVnjE_|@d)6u*|r&7`L$V>v;sGO}LDDj1*F zN}e(6CU|UmYStK+LJyBIfuTw8Gx5Q=5g#(noaKWHn3z^KAZ4J1xG#bmMv#Cx|g9Gu{IL28x$WgC?tS^@Q(-=(4 zIgi0HB^0?hH+#t#>DUpMqL4<)$-4#1DJA&GyyeH3x)&^~J++B@Lp{W=!PR}W8?5nQ zCAb;f!tNtH-%vZM#p!&c8nmyyw)JlJs}`(ayP>v%Rk$@&Gr09B+_3wALUFaLBLz3r zV+7s}?x-!Dpn;%wc<>{f;G!DQO9@JQ@Wd8Z>%l4+v33ScuBDnB3HK0u2dv1K7;hp~ z@DnW7k&qsuFiHq&R0MozbsxVbydJ1ln=GnZV`>k+E%?Hmg+x)ps@mq7cMErfq8Q}e z1j#0X!Xo$q?7DK|R*n8?Yy_LKbQR zWY)oQIs8OK>lOuv07!-C`eQ+Es>LXWW_ufHpsp7C|MXQ8r9)>TLgCw%2bJtDuoX6L zO?Q0f*-ud_4bE*XlkQkJWZevqe4C$yHOK~QI{g|xP@2yc^@@t20!fR$urqqt+7(gj zNx@~V=V%#?YSFxrhzG_zSk=Q!DsCej^oeGJQit{21+3_H>+E;~u%u8Or$ciXjYlK{ zee!g>b>QcYSu_xMrL>(^32sr7yGDXY9vU}LUF#&G4sUCX^gJPSC;{T_(L_9_1)VpJ ThNR;|v7a@{-5jW6`279{Ovx!S delta 295 zcmX|(K~BP86oji(mo8Ydcn6TAB#~WR*D2Dc!c?v zY&Zi)aQ>1o`MK#Lnxt}J7!%Gnvf-caEZxsk zcO2J|m(UfzEnzG0di_xP9WRug-FmVgU1|G)47{%659ImU?$Qco$6WKqsur!gVyP;n za;;*`9?bpl6I*;ELX0&Mq}U3UYK$H2wVL9WGv+$Q5{am>nq;X+jkJMS)Vq3R=0_KI f46cyShy-)?KZL6lN%iGZXp 0: + self.error(_("unrecognized option") + ": %s"% "".join(args)) + if values.T is None and \ + values.vars is None: + self.error(_("installation yet is not exists")) + if not values.T in [None,"all"]: + self.error( + _("defenition of a particular template yet is not supported")) + # check syntax --set + self.checkVarSyntax(values) + return (values, args) + + def processSetLang(self,lang): + """Process set locales by lang""" + if self.setAllLocaleByLang(lang): + return True + else: + self.printERROR(_("specified lang %s is unsupported")%lang) + return False + + def processSetVars(self,vars): + """Process setting values for variables""" + for vals in vars: + for val in vals.split(','): + k,o,v = val.partition('=') + if self.clVars.exists(k): + if not self.clVars.Set(k,v): + return False + else: + self.printERROR(_('variable %s not found')%k) + return False + return True + + def processDisplayVars(self,vars): + """Process displaying variables""" + terms = vars.split(",") + # if value of vars is "all" print all variables + if terms == ["all"]: + self.clVars.printVars() + # print only specified variables + else: + self.clVars.printVars(terms) + + def processTemplateSelect(self,template): + """Process template appling""" + if self.applyTemplatesForSystem(): + return True + else: + return False + + def run(self,options,args): + """Processing of all receiving options""" + # variables printing + self.initVars() + if options.color == "never": + self.setNoColor() + if not options.l is None: + if not self.processSetLang(options.l): + return False + if options.set: + if not self.processSetVars(options.set): + return False + if not options.vars is None: + self.processDisplayVars(options.vars) + return True + elif not options.T is None: + return self.applyTemplatesForSystem() + else: + return False + diff --git a/scripts/cl-install b/scripts/cl-install index d18647b..347bf5a 100644 --- a/scripts/cl-install +++ b/scripts/cl-install @@ -1,7 +1,7 @@ #!/usr/bin/python #-*- coding: utf-8 -*- -# Copyright 2008-2010 Mir Calculate Ltd. http://www.calculate-linux.org +# Copyright 2010 Mir Calculate Ltd. http://www.calculate-linux.org # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,11 +19,18 @@ import sys import os sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym')) sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-install/pym')) -import cl_base -import cl_install -tr = cl_base.lang() + +from install_opt import install_opt + +from cl_lang import lang +tr = lang() tr.setGlobalDomain('cl_install') tr.setLanguage(sys.modules[__name__]) if __name__ == "__main__": - pass + install = install_opt() + opts, args = install.parse_args() + if install.run(opts,args): + sys.exit(0) + else: + sys.exit(1)