Ignore:
Timestamp:
Feb 20, 2017, 12:01:30 PM (3 years ago)
Author:
Juanma
Message:

WIP on blacklist

File:
1 edited

Legend:

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

    r3663 r3669  
    55from gi.repository import AppStreamGlib as appstream
    66import subprocess
     7import json
    78
    89class loadstore:
     
    2223        def _debug(self,msg=''):
    2324                if self.dbg==1:
    24                         print ('DEBUG Load: '+msg)
     25                        print ('DEBUG Load: '+str(msg))
    2526        #def _debug
    2627
     
    3940        def get_error(self):
    4041                return (self.error)
     42        #def get_error
    4143
    4244        def _load_store(self,store):
     
    5557        #def load_store
    5658
    57         def _parse_desktop(self,store): #DEPRECATED
     59        def _parse_desktop(self,store): #DEPRECATED. Loads the apps from the available desktop files
    5860                desktopDir='/usr/share/applications'
    5961                return(store)
     
    7375
    7476        def _sanitize_store(self,store):
    75                 apps_to_remove=[]
    7677                applist=store.get_apps()
    7778                for app in applist:
     
    7980                                store.remove_app(app)
    8081                #Check the blacklist
    81 #               flavour=subprocess.check_output(["lliurex-version","-f"]).rstrip()
    82 
     82                try:
     83                        flavour=subprocess.check_output(["lliurex-version","-f"]).rstrip()
     84                        flavour=flavour.decode("utf-8")
     85                        if os.path.isfile('/usr/share/lliurex-store/files/blacklist.json'):
     86                                blFile=open('/usr/share/lliurex-store/files/blacklist.json').read()
     87                                blacklist=json.loads(blFile)
     88                                blApps=blacklist[flavour]
     89                                for blApp in blApps:
     90                                        self._debug("Blacklisted app: "+blApp)
     91                                        app=store.get_app_by_pkgname(blApp)
     92                                        if app:
     93                                                self._debug("Removed "+str(app))
     94                                                store.remove_app(app)
     95                                        else:
     96                                                self._debug("App "+blApp+" from blacklist not found in store")
     97                        else:
     98                                self._debug('No blacklist to check')
     99                except subprocess.CalledProcessError as e:
     100                        print(u"Running on a non Lliurex host")
     101                except Exception as e:
     102                        self._debug("Error processing blacklist: "+str(e))
    83103                return (store)
    84104        #def _sanitize_store
Note: See TracChangeset for help on using the changeset viewer.