Changeset 6706


Ignore:
Timestamp:
Jan 26, 2018, 1:26:59 PM (21 months ago)
Author:
jrpelegrina
Message:

Fix code to getStatus by script

File:
1 edited

Legend:

Unmodified
Added
Removed
  • epi/trunk/fuentes/python3-epi/epimanager.py

    r6689 r6706  
    3737                                        "depends":"",
    3838                                        "zomando":"",
    39                                         "required_root":False,
    40                                         "download_byscript":False
     39                                        "required_root":False
    4140                                        }
    4241
     
    138137
    139138                        pkg_info={}
     139                        self.getStatus_byscript=False
     140
     141                        try:
     142                                if self.epiFiles[order]["script"]["getStatus"]:
     143                                        self.getStatus_byscript=True
     144                        except:
     145                                pass
     146
    140147                       
    141148                        for item in pkg_list:
     
    160167
    161168                                        if len(data)>0:
    162                                                 if (data["info"][0]["state"]) !="":
    163                                                         status=data["info"][0]["state"]
     169
     170                                                if not self.getStatus_byscript:
     171                                                        if (data["info"][0]["state"]) !="":
     172                                                                status=data["info"][0]["state"]
     173                                                        else:
     174                                                                status=self.check_pkg_status(app,order)
    164175                                                else:
    165                                                         status=self.check_pkg_status(app,order)
     176                                                        status=self.check_pkg_status(app,order)         
    166177                                                       
    167178
     
    194205       
    195206
    196                 cmd='dpkg -l '+ pkg + '| grep "^i[i]"'
    197                 p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    198                 poutput,perror=p.communicate()
    199 
    200                 if len(poutput)>0:
    201                         return "installed"
    202                 else:
     207                if self.getStatus_byscript:
    203208                        if order !=None:
    204209                                if len(self.epiFiles[order]["script"])>0:
    205210                                        try:
    206                                                 if self.epiFiles[order]["script"]["getStatus"]:
    207 
    208                                                         if os.path.exists(self.epiFiles[order]["script"]["name"]):
    209                                                                 cmd=self.epiFiles[order]["script"]["name"] +' getStatus ' + pkg;
    210                                                                 p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
    211                                                                 poutput=p.communicate()
    212                                                                 if len(poutput)>0:
    213                                                                         if poutput[0].decode("utf-8").split("\n")[0]=='0':
    214                                                                                 return "installed"
     211                                                script=self.epiFiles[order]["script"]["name"]
     212                                                if os.path.exists(script):
     213                                                        cmd=script +' getStatus ' + pkg;
     214                                                        p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
     215                                                        poutput=p.communicate()
     216                                                        if len(poutput)>0:
     217                                                                if poutput[0].decode("utf-8").split("\n")[0]=='0':
     218                                                                        return "installed"
    215219                                               
    216220                                        except Exception as e:
    217221                                                #print (str(e))
    218                                                 pass   
     222                                                pass
     223                else:                                   
     224
     225                        cmd='dpkg -l '+ pkg + '| grep "^i[i]"'
     226                        p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
     227                        poutput,perror=p.communicate()
     228
     229                        if len(poutput)>0:
     230                                return "installed"
     231               
    219232                               
    220233                return "available"     
     
    346359                                                        try:
    347360                                                                if self.epi_conf["script"]["addRepoKeys"]:
    348                                                                         if os.path.exists(self.epi_conf["script"]["name"]):
    349                                                                                 command=self.epi_conf["script"]["name"] + ' addRepoKeys;'
     361                                                                        script=self.epi_conf["script"]["name"]
     362                                                                        if os.path.exists(script):
     363                                                                                command=script + ' addRepoKeys;'
    350364                                                                                cmd=cmd+command
    351365                                                        except Exception as e:
     
    405419
    406420                        self.token_result_download=tempfile.mkstemp("_result_download")
    407 
    408421                       
    409422                        if self.type=="file":
    410                                 if self.epi_conf["download_byscript"]:
    411                                         self.manage_download=False
    412                                         if len(self.epi_conf["script"])>0:
    413                                                 script=self.epi_conf["script"]["name"]
    414                                                 if os.path.exists(script):
    415                                                         cmd=script +' download; echo $? >' + self.token_result_download[1] +';'
     423                                if len(self.epi_conf["script"])>0:
     424                                        try:
     425                                                if self.epi_conf["script"]["download"]:
     426                                                        script=self.epi_conf["script"]["name"]
     427                                                        if os.path.exists(script):
     428                                                                cmd=script +' download; echo $? >' + self.token_result_download[1] +';'
     429                                                                self.manage_download=False
     430                                        except:
     431                                                pass                   
    416432
    417433                        if self.manage_download:
     
    573589                        script=self.epi_conf["script"]["name"]
    574590                        if os.path.exists(script):
    575                                 cmd=script + ' install; echo $? >' + self.token_result_install[1]
     591                                cmd=script + ' installPackage; echo $? >' + self.token_result_install[1]
    576592
    577593                cmd=cmd+";"
Note: See TracChangeset for help on using the changeset viewer.