Ignore:
Timestamp:
Apr 20, 2017, 1:48:50 PM (3 years ago)
Author:
Juanma
Message:

Refactorized search method and related plugins

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/zmdManager.py

    r4348 r4363  
    1515        def __init__(self):
    1616                self.locale=locale.getlocale()[0]
    17                 self.dbg=1
     17                self.dbg=0
    1818                self.zmdPath='/usr/share/zero-center/zmds'
    19                 if hasattr(sys,'last_value'):
     19                self.disabled=False
     20                if hasattr(sys,'last_value') or not (os.path.exists(self.zmdPath)):
    2021                        #If there's an error at this point it only could be an importError caused by xmlrpc
    21                         self.pluginInfo={}
    22                 else:
    23                         self.pluginInfo={'install':'zmd','pkginfo':'zmd','remove':'zmd'}
     22                        self.disabled=True
     23                self.pluginInfo={'install':'zmd','pkginfo':'zmd','remove':'zmd'}
    2424                self.progress=0
    2525                self.n4dclient=''
     
    2727                self.result['data']=[]
    2828                self.result['status']={}
     29                self.result['status']={'status':-1,'msg':''}
    2930        #def __init__
    3031
     
    4445
    4546        def execute_action(self,action,applist):
    46                 count=len(applist)
    47                 self.n4dclient=self._n4d_connect()
    4847                self.result['status']={'status':-1,'msg':''}
    49                 self.result['data']=[]
    50                 for appInfo in applist:
    51                         if not (os.path.exists(self.zmdPath)):
    52                                 return applist;
    53                 if (action):
    54                                 if action=='install':
    55                                         self.result['data'].append(self._install_Zmd(appInfo))
    56                                 if action=='remove':
    57                                         self.result['data'].append(self._remove_Zmd(appInfo))
    58                                 if action=='pkginfo':
    59                                         self.result['data'].append(self._get_Zmd_Info(appInfo))
     48                self.result['data']=applist
     49                if self.disabled:
     50                        self._set_status(9)
     51                else:
     52                        count=len(applist)
     53                        try:
     54                                self.n4dclient=self._n4d_connect()
     55                                for appInfo in applist:
     56                                        if (action):
     57                                                if action=='install':
     58                                                        self.result['data'].append(self._install_Zmd(appInfo))
     59                                                if action=='remove':
     60                                                        self.result['data'].append(self._remove_Zmd(appInfo))
     61                                                if action=='pkginfo':
     62                                                        self.result['data'].append(self._get_Zmd_Info(appInfo))
     63                        except:
     64                                self.disabled=True
     65                                self._set_status(10)
    6066                self.progress=100
    6167                return(self.result)
     
    7985                zmd=self.zmdPath+'/'+appInfo['package']+'.zmd'
    8086                self._debug("Installing "+str(zmd))
    81                 err=0
    82                 try:
    83                         zmdsudo=['gksudo',zmd]
    84                         self._debug("executing "+str(zmdsudo))
    85                         zmdCmd=subprocess.Popen(zmdsudo,stdout=subprocess.PIPE,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
    86                         zmdLauncher=os.path.basename(zmd)
    87                         zmdLauncher=os.path.splitext(zmdLauncher)[0]
    88                         while zmdCmd.poll() is None:
    89                                 self._callback(zmdLauncher)
    90                                 time.sleep(0.4)
    91                         zmdResult=zmdCmdtdout.read()
    92                         zmdError=zmdCmd.stderr.read()
    93                         self._debug("Error: "+str(zmdError))
    94                         self._debug("Result: "+str(zmdResult))
    95                         appInfo=self._get_Zmd_Info(appInfo)
    96                         if appInfo['status']!='Installed':
    97                                 err=5
    98                 except Exception as e:
    99                         appInfo=self._get_Zmd_Info(appInfo)
    100                         self._debug(str(e))
    101                         if appInfo['status']!='Installed':
    102                                 err=5
     87                if os.path.exists(zmd):
     88                        err=0
     89                        try:
     90                                zmdsudo=['gksudo',zmd]
     91                                self._debug("executing "+str(zmdsudo))
     92                                zmdCmd=subprocess.Popen(zmdsudo,stdout=subprocess.PIPE,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
     93                                zmdLauncher=os.path.basename(zmd)
     94                                zmdLauncher=os.path.splitext(zmdLauncher)[0]
     95                                while zmdCmd.poll() is None:
     96                                        self._callback(zmdLauncher)
     97                                        time.sleep(0.4)
     98                                zmdResult=zmdCmdtdout.read()
     99                                zmdError=zmdCmd.stderr.read()
     100                                self._debug("Error: "+str(zmdError))
     101                                self._debug("Result: "+str(zmdResult))
     102                                appInfo=self._get_Zmd_Info(appInfo)
     103                                if appInfo['status']!='Installed':
     104                                        err=5
     105                        except Exception as e:
     106                                appInfo=self._get_Zmd_Info(appInfo)
     107                                self._debug(str(e))
     108                                if appInfo['status']!='Installed':
     109                                        err=5
     110                else:
     111                        err=8
    103112                self._set_status(err)
    104113                return err
     
    172181                zmd=appInfo['package']
    173182                appInfo['status']='Available'
    174                 for key in n4dvars:
    175                         if zmd.lower() in key.lower():
    176                                 if n4dvars[key]['state']==1:
    177                                         appInfo['status']='Installed'
     183                if n4dvars:
     184                        for key in n4dvars:
     185                                if zmd.lower() in key.lower():
     186                                        if n4dvars[key]['state']==1:
     187                                                appInfo['status']='Installed'
    178188
    179189                self._set_status(6)
Note: See TracChangeset for help on using the changeset viewer.