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

Beta filter of duplicated packages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.