Changeset 3880 for lliurex-store


Ignore:
Timestamp:
Mar 10, 2017, 9:48:40 AM (3 years ago)
Author:
Juanma
Message:

Beta filter of duplicated packages

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

Legend:

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

    r3869 r3880  
    5656                                        if action=='remove':
    5757                                                self._log("Removing "+appInfo['package'])
    58 #                                               self._get_App_Extended_Info(appInfo,app)
    59 #                                               self._log("Dependencies to remove"+str(appInfo['depends']))
    6058                                                self._remove_App(app)
    6159                                                self.result['data'].append({'package':appInfo['package']})
    6260                                        if action=='pkginfo':
    63                                                 self._get_App_Extended_Info(appInfo,app)
     61                                                self.result['data'].append(self._get_App_Extended_Info(appInfo,app))
    6462                                self.progress=self.progress+(self.partialProgress/self.count)
    6563                self.progress=100
     
    8583                try:
    8684                        self.installer.install_packages(True,[app.get_id(),],None,self._callback,None)
    87 #                       self.result['data'].append({app.get_id():u'installed'})
    8885                        err=0
    8986                except Exception as e:
     
    10097                try:
    10198                        self.installer.remove_packages(True,[app.get_id(),],True,False,None,self._callback,None)
    102 #                       self.result['data'].append({app.get_id():0})
    10399                        self._set_status(0)
    104100                except Exception as e:
     
    137133                                break
    138134                               
    139                 self.result['data'].append(appInfo)
    140135                return(appInfo)
    141         #def _get_App_Dependencies
     136        #def _get_App_Extended_Info
    142137
    143         def _get_App_Info(self,appInfo,app,appsCount=0):
     138        def _get_App_Info(self,appInfo,app,appsCount=0): #DEPRECATED
    144139                try:
    145140                        info=app.get_info()
     
    167162                try:
    168163                        result=self.installer.resolve(1,[appName,],None,self._fake_callback, None)
    169 #                       print("********************")
    170 #                       res2=self.installer.get_details([appName,],None,self._fake_callback, None)
    171 #                       print(res2)
    172 #                       print("********************")
    173164                        applist=result.get_package_array()
    174165                        if applist:
     
    182173                return(app)
    183174        #def _resolve_App
    184 
    185        
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/loadStore.py

    r3870 r3880  
    7676        def _sanitize_store(self,store):
    7777                applist=store.get_apps()
    78                 uniqlist=[]
     78                uniqDict={}
    7979                for app in applist:
    8080                        #Remove apps whitout pkgname
     
    8585                                self._debug("Removed addon "+str(app.get_pkgnames()))
    8686                                store.remove_app(app)
    87                         #Remove duplicated apps (as in gnome-store)
    88                         #We assume that default_source=pkgname_default, although this should not be relied upon.
    89                         if app.get_pkgname_default() in uniqlist:
    90                                 store.remove_app(app)
    91                         else:
    92                                 uniqlist.append(app.get_pkgname_default())
    93 
    94                          
     87                        #Remove duplicated apps
     88                        #Unlike gnome-store we'll try to compare the info of the package in order of discard only the "part-of" packages
     89                        pkg=app.get_pkgname_default()
     90                        if pkg in uniqDict.keys():
     91                                fn=app.get_id_filename()       
     92                                self._debug("Comparing "+fn+" with "+uniqDict[pkg]['fn'])
     93                                if fn != uniqDict[pkg]['fn']:
     94                                        if fn != pkg:
     95                                                self._debug("Removed "+app.get_id())
     96                                                store.remove_app(app)
     97                                        else:
     98                                                self._debug("Removed "+uniqDict[pkg]['app'].get_id())
     99                                                store.remove_app(uniqDict[pkg]['app'])
     100                                                uniqDict.update({pkg:{'fn':app.get_id_filename(),'app':app}})
     101                        elif pkg:
     102                                print("Adding "+pkg)
     103                                uniqDict.update({pkg:{'fn':app.get_id_filename(),'app':app}})
    95104                #Check the blacklist
    96105                try:
Note: See TracChangeset for help on using the changeset viewer.