Ignore:
Timestamp:
Feb 15, 2017, 6:27:03 PM (3 years ago)
Author:
Juanma
Message:

WIP on CLI

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

Legend:

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

    r3275 r3646  
    2323        def _debug(self,msg=''):
    2424                if self.dbg==1:
    25                         print ('DEBUG Deb: '+msg)
     25                        print ('DEBUG Deb: '+str(msg))
    2626        #def debug
    2727
     
    6060                self.partialProgress=status.get_property('percentage')
    6161                self.progress=self.partialProgress/self.count
    62                 self._debug("Progress"+str(self.partialProgress))
     62#               self._debug("Progress"+str(self.partialProgress))
    6363        #def _callback
    6464
     
    6767                self._debug("Installing "+app.get_id())
    6868                try:
    69                         self.installer.install_packages(False,[app.get_id(),],None,self._callback,None)
    70                         self.result.append({app.get_id():" installed succesfully"})
     69                        self.installer.install_packages(True,[app.get_id(),],None,self._callback,None)
     70                        self.result.append({app.get_id():0})
    7171                except Exception as e:
    72                         self._debug(e.message)
    73                         self.result.append({app.get_id():e.message})
     72                        self._debug("Install error: "+str(e.code))
     73                        self.result.append({app.get_id():e.code})
    7474                self.partialProgress=100
    7575        #def _install_App_from_Repo
     
    7777        def _remove_App(self,app):
    7878                try:
    79                         self.installer.remove_packages(False,[app.get_id(),],True,False,None,self._callback,None)
    80                         self.result.append({app.get_id():" removed succesfully"})
     79                        self.installer.remove_packages(True,[app.get_id(),],True,False,None,self._callback,None)
     80                        self.result.append({app.get_id():0})
    8181                except Exception as e:
    82                         self._debug(e.message)
    83                         self.result.append({app.get_id():e.message})
     82                        self._debug("Remove error: " +str(e.code))
     83                        self.result.append({app.get_id():e.code})
    8484                self.partialProgress=100
    8585        #def _remove_App
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/infoManager.py

    r3275 r3646  
    8282                                        break
    8383                        if app.get_categories():
    84                                 appInfo['categories']=str(app.get_categories())
     84                                appInfo['categories']=app.get_categories()
    8585                        if app.get_icon_default():
    8686                                appInfo['icon']=app.get_icon_default().get_name()
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/loadStore.py

    r3275 r3646  
    1111                self.store=''
    1212                self.progress=0
     13                self.error=0
    1314        #def __init__
    1415
     
    3435                return (self.store)
    3536        #def execute_action
     37
     38        def get_error(self)
     39                return (self.error)
    3640
    3741        def _load_store(self,store):
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/searchManager.py

    r3275 r3646  
    7878                                        catDict[cat]=catDict[cat]+1
    7979                for section in catDict:
    80                         applist.append({section:catDict[section]})
     80                        applist.append({str(section):catDict[section]})
    8181                self.applist=applist
    8282                return(applist)
     
    100100                                                pass
    101101                                        setAppCategories=set(appCategories)
    102                                         if list(setCategories.intersection(setAppCategories)):
     102                                        if setCategories.issubset(setAppCategories):
    103103                                                self._debug("Found "+app.get_id())
    104104                                                applist.append(app)
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/storeManager.py

    r3615 r3646  
    2727                                        }
    2828                self.dbg=0
     29                if args:
     30                        self.dbg=args
    2931                self.threads={}                         #Dict that stores the functions that must execute each action
    3032                self.threadsProgress={}                 #"" "" "" the progress for each launched thread
    3133                self.threadsRunning={}                  #"" "" "" the running threads
    32                 self._define_functions_for_threads()    #Function that loads the dictionary self.threads
    3334                self.registeredPlugins={}               #Dict that have the relation between plugins and actions
    3435                self.registerProcessProgress={}         #Dict that stores the progress for each function/parentAction pair
    35                 self.__init_plugins__()                 #Function that loads the plugins
    3636                self.progressActions={}                 #Progress of global actions based on average progress of individual processes
    3737                self.result={}                          #Result of the actions
    38                 self.execute_action('load')             #Function that launches the actions
    3938                self.lock=threading.Lock()              #locker for functions related to threads (get_progress, is_action_running...)
    40 #               self.log
     39                self.main()
    4140        #def __init__
     41
     42        def main(self):
     43                self._define_functions_for_threads()    #Function that loads the dictionary self.threads
     44                self.__init_plugins__()                 #Function that loads the plugins
     45                self.execute_action('load')             #Initial load of the store
     46        #def main
    4247
    4348        ####
     
    148153                if action in self.registeredPlugins:
    149154                        self._debug("Plugin for "+action+": "+self.registeredPlugins[action][parms])
    150 #                       exeFunction=eval(self.pluginMod+'.'+self.registeredPlugins[action][parms]+"()")
    151155                        exeFunction=eval(self.registeredPlugins[action][parms]+"()")
     156                        if self.dbg:
     157                                exeFunction.set_debug(1)
    152158                        self._registerProcessProgress(action,exeFunction,launchedby)
    153159                else:
     
    211217        def _registerProcessProgress(self,action,function,parentAction=None):
    212218                if action in self.registerProcessProgress.keys():
    213                         self._debug("Appended process for action :"+action +" and function: "+str(function))
     219                        self._debug("Appended process for action: "+action +" and function: "+str(function))
    214220                        self.registerProcessProgress[action].append(function)
    215221                else:
    216                         self._debug("Registered process for action :"+action+" and function: "+str(function))
     222                        self._debug("Registered process for action: "+action+" and function: "+str(function))
    217223                        self.registerProcessProgress[action]=[function]
    218224                if parentAction:
     
    370376                if action=='list_sections':
    371377                        searchItem=''
    372                 if (searchItem in self.registeredPlugins[action]):
    373                         self._debug("Plugin for search "+ searchItem +": "+self.registeredPlugins[action][searchItem])
    374                         finder=self.registeredPlugins[action][searchItem]
    375                 else:
    376                         self._debug("Plugin for generic search: "+self.registeredPlugins[action]['*'])
    377                         finder=self.registeredPlugins[action][('*')]
    378                 searchFunction=eval(finder+"()")
    379378                if not launchedby:
    380379                        launchedby=action
    381                 self._registerProcessProgress(action,searchFunction,launchedby)
     380
     381                searchFunction=self._execute_class_method(action,'*',launchedby)
    382382                aux_applist=searchFunction.execute_action(self.store,action,searchItem)
    383                 #1.- Get appstream metadata (faster)
    384                 partialAction='info'
    385                 applist=self._get_App_Info(aux_applist,launchedby)
    386                 self._debug("Add result for "+partialAction)
    387                 self.result[partialAction]=applist
    388                 #2.- Get rest of metadata (slower)
    389                 partialAction='pkginfo'
    390                 applist=self._get_Extended_App_Info(applist,launchedby,fullsearch)
    391                 realAction=action
    392                 if launchedby:
    393                         realAction=launchedby
    394                         self._debug("Assigned results of "+action+" to "+realAction)
    395                 if (len(applist)):
    396                         self.result[realAction]=applist
    397                         return_msg=True
    398                 else:
    399                         notfound=''
    400                         for item in searchItem:
    401                                 notfound=' '.join(searchItem)
    402                         self.result[realAction]=[{notfound:" not found"}]
     383                if len(aux_applist):
     384                        #1.- Get appstream metadata (faster)
     385                        partialAction='info'
     386                        applist=self._get_App_Info(aux_applist,launchedby)
     387                        self._debug("Add result for "+partialAction)
     388                        self.result[partialAction]=applist
     389                        #2.- Get rest of metadata (slower)
     390                        partialAction='pkginfo'
     391                        applist=self._get_Extended_App_Info(applist,launchedby,fullsearch)
     392                        realAction=action
     393                        if launchedby:
     394                                realAction=launchedby
     395                                self._debug("Assigned results of "+action+" to "+realAction)
     396                        if (len(applist)):
     397                                self.result[realAction]=applist
     398                                return_msg=True
     399                        else:
     400                                notfound=''
     401                                self.result[realAction]=[{searchItem:2}]
     402                                return_msg=False
     403                else:
     404                        self.result[launchedby]=[{searchItem:1}]
    403405                        return_msg=False
    404406                return(return_msg)
     
    424426                                if (action=='install' and appInfo['status']=='installed') or (action=='remove' and appInfo['status']=='available'):
    425427                                        if action=='remove':
    426                                                 self.result[action]=[{appInfo['package']:"Package not installed"}]
     428                                                self.result[action]=[{appInfo['package']:3}]
    427429                                        else:
    428                                                 self.result[action]=[{appInfo['package']:"Package already installed"}]
     430                                                self.result[action]=[{appInfo['package']:4}]
    429431                                        return_msg=False
    430432                                        typeDict={}
Note: See TracChangeset for help on using the changeset viewer.