Changeset 4749


Ignore:
Timestamp:
May 15, 2017, 12:53:26 PM (2 years ago)
Author:
Juanma
Message:

Added zmd needed deb checking.
Zomandos added with max priority to the store
Merge appinfo when debs are distributed also as zomandos

Location:
lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore
Files:
4 edited

Legend:

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

    r4394 r4749  
    33class infomanager:
    44        def __init__(self):
    5                 self.dbg=0
     5                self.dbg=1
    66                self.pluginInfo={'get_info':'*'}
    77                self.result={}
     
    9494                        if app.get_icon_default():
    9595                                appInfo['icon']=app.get_icon_default().get_name()
     96                                if appInfo['icon']==None:
     97                                        appInfo['icon']=""
    9698#                               if app.get_icon_default():
    9799#                                       appInfo['icon']=appInfo['icon']+'/'+app.get_icon_default().get_name()
     100                               
    98101                        if app.get_screenshots():       
    99102                                thumbnails_list=[]
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/loadStore.py

    r4629 r4749  
    8181                lliurexApps={}
    8282                for app in applist:
     83                        #Zomandos get max priority
     84                        if app.has_category('zomando'):
     85                                self._debug("Prioritize zmd "+str(app.get_id()))
     86                                app.set_priority(400)
     87                                lliurexApps.update({app.get_id_filename():app})
    8388                        #Prioritize Lliurex apps
    84                         if str(app.get_origin()).find('lliurex')>=0:
     89                        elif app.has_category('Lliurex'):
    8590                                self._debug("Prioritize app "+str(app.get_id()))
    86                                 app.set_priority(100)
     91                                app.set_priority(200)
    8792                                lliurexApps.update({app.get_id_filename():app})
    88                         elif app.has_category('Lliurex'):
     93                        elif str(app.get_origin()).find('lliurex')>=0:
    8994                                self._debug("Prioritize app "+app.get_id())
    9095                                app.set_priority(100)
    9196                                lliurexApps.update({app.get_id_filename():app})
    9297                        else:
    93                                 app.set_priority(10)
     98                                app.set_priority(0)
    9499                                if app.get_id_filename() in lliurexApps.keys():
    95100#                                       app.set_merge_kind(appstream.AppMergeKind.APPEND)
     
    98103                                        lliurexApps[app.get_id_filename()].subsume_full(app,appstream.AppSubsumeFlags.BOTH_WAYS)
    99104                                        store.remove_app(app)
    100 #                                       store.remove_app(app)
    101105                        #Remove apps whitout pkgname
    102106                        if not app.get_pkgnames():
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/zmdManager.py

    r4741 r4749  
    4646        def execute_action(self,action,applist):
    4747                self.result['status']={'status':-1,'msg':''}
    48                 self.result['data']=list(applist)
     48#               self.result['data']=list(applist)
     49                self.result['data']=''
    4950                if self.disabled:
    5051                        self._set_status(9)
     
    5253                        count=len(applist)
    5354                        try:
     55                                dataList=[]
    5456                                self.n4dclient=self._n4d_connect()
    5557                                for appInfo in applist:
    5658                                        if (action):
    5759                                                if action=='install':
    58                                                         self.result['data'].append(self._install_Zmd(appInfo))
     60                                                        dataList.append(self._install_Zmd(appInfo))
     61#                                                       self.result['data'].append(self._install_Zmd(appInfo))
    5962                                                if action=='remove':
    60                                                         self.result['data'].append(self._remove_Zmd(appInfo))
     63                                                        dataList.append(self._remove_Zmd(appInfo))
     64#                                                       self.result['data'].append(self._remove_Zmd(appInfo))
    6165                                                if action=='pkginfo':
    62                                                         self.result['data'].append(self._get_Zmd_Info(appInfo))
     66                                                        dataList.append(self._get_Zmd_Info(appInfo))
     67#                                                       self.result['data'].append(self._get_Zmd_Info(appInfo))
    6368                        except:
    6469                                self.disabled=True
    6570                                self._set_status(10)
     71                self.result['data']=list(dataList)
    6672                self.progress=100
    6773                return(self.result)
     
    7076        def _set_status(self,status,msg=''):
    7177                self.result['status']={'status':status,'msg':msg}
     78#               dataList['status']={'status':status,'msg':msg}
    7279       
    7380        def _callback(self,zmdLauncher):
     
    8592                zmd=self.zmdPath+'/'+appInfo['package']+'.zmd'
    8693                self._debug("Installing "+str(zmd))
    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=zmdCmd.stdout.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
     94                appInfo=self._get_Zmd_Info(appInfo)
     95                if appInfo['state']=='Installed':
     96                        err=4
    11097                else:
    111                         err=8
     98                        if os.path.exists(zmd):
     99                                err=0
     100                                try:
     101                                        zmdsudo=['gksudo',zmd]
     102                                        self._debug("executing "+str(zmdsudo))
     103                                        zmdCmd=subprocess.Popen(zmdsudo,stdout=subprocess.PIPE,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
     104                                        zmdLauncher=os.path.basename(zmd)
     105                                        zmdLauncher=os.path.splitext(zmdLauncher)[0]
     106                                        while zmdCmd.poll() is None:
     107                                                self._callback(zmdLauncher)
     108                                                time.sleep(0.4)
     109                                        zmdResult=zmdCmd.stdout.read()
     110                                        zmdError=zmdCmd.stderr.read()
     111                                        self._debug("Error: "+str(zmdError))
     112                                        self._debug("Result: "+str(zmdResult))
     113                                except Exception as e:
     114                                        self._debug(str(e))
     115                                finally:
     116                                        appInfo=self._get_Zmd_Info(appInfo)
     117                                        if appInfo['state']!='Installed':
     118                                                err=5
     119                        else:
     120                                err=8
    112121                self._set_status(err)
    113                 return err
     122                return(appInfo)
    114123        #def _install_Zmd
    115124
     
    172181                        if appInfo['status']=='Installed':
    173182                                err=6
    174                         self._set_status(err)
    175183                        os.remove(zeroScript)
    176                         return err
     184                else:
     185                        err=6
     186                self._set_status(err)
     187                return(appInfo)
    177188        #def _remove_Zmd
    178189
     
    187198                                        if zmd.lower() in key.lower():
    188199                                                if n4dvars[key]['state']==1:
    189                                                         appInfo['status']='Installed'
     200                                                        appInfo['state']='Installed'
    190201                        else:
    191                                 self._set_status(0)
     202                                self._set_status(2)
    192203                except:
    193204                        self._set_status(10)
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/storeManager.py

    r4417 r4749  
    386386#                               result['data']=[]
    387387                                #Only search full info if it's required
    388                                 if (fullsearch==False):
     388                                if (fullsearch==False and package_type=='deb'):
    389389#                                       result['data'].extend(typeDict[package_type])
    390390                                        continue
     
    510510                                if package_type in self.registeredPlugins[action]:
    511511                                        installFunction=self._execute_class_method(action,package_type,action)
     512                                        if package_type=='zmd':
     513                                        #If it's a zmd the zomando must be present in the system
     514                                                zmdAppInfo=[]
     515                                                for zmdPackage in typeDict[package_type]:
     516                                                        zmdInfo={}
     517                                                        self._debug("Cheking presence of zmd "+ zmdPackage['package'])
     518                                                        zmd='/usr/share/zero-center/zmds/'+appInfo['package']+'.zmd'
     519                                                        if not os.path.exists(zmd):
     520                                                                zmdInfo['package']=zmdPackage['package']
     521                                                                zmdAppInfo.append(zmdInfo)
     522                                                if zmdAppInfo:
     523                                                        self._debug("Installing needed packages")
     524                                                        installAuxFunction=self._execute_class_method(action,"deb",action)
     525                                                        result=installAuxFunction.execute_action(action,zmdAppInfo)
     526                                                       
    512527                                        result=installFunction.execute_action(action,typeDict[package_type])
    513528                                        self.result[action]=result
Note: See TracChangeset for help on using the changeset viewer.