Ignore:
Timestamp:
Apr 5, 2018, 2:58:50 PM (20 months ago)
Author:
Juanma
Message:

WIP on bundles support

Location:
lliurex-store/trunk/fuentes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lliurex-store/trunk/fuentes/lliurex-store-cli/usr/share/lliurex-store/lliurex-store-cli.py

    r7077 r7119  
    3939                                        for data in results[action]:
    4040                                                if action=='info':
     41                                                        print(data)
    4142                                                        try:
    42                                                                 print(color.DARKCYAN+_(u'Package')+': '+color.END + data['package'])
    43                                                                 print(_(u'Name')+': '+data['name'])
    44                                                                 print(_(u'ID')+': '+data['id'])
    45                                                                 print(_(u'Version')+': '+data['version'])
    46                                                                 print(_(u'Size')+': '+data['size'])
    47                                                                 print(_(u'License')+': '+data['license'])
     43#                                                               print(color.DARKCYAN+_(u'Package')+': '+color.END + data['package'])
     44                                                                print("%s%s: %s%s"%(color.DARKCYAN,_(u'Package'),color.END,data['package']))
     45#                                                               print(_(u'Name')+': '+data['name'])
     46                                                                print("%s: %s"%(_(u'Name'),data['name']))
     47#                                                               print(_(u'ID')+': '+data['id'])
     48                                                                print("%s: %s"%(_(u'ID'),data['id']))
     49#                                                               print(_(u'Version')+': '+str(data['version']))
     50                                                                print("%s: %s"%(_(u'Version'),data['version']))
     51                                                                print("%s: %s"%(_(u'Releases'),', '.join(data['releases'])))
     52#                                                               print(_(u'Size')+': '+data['size'])
     53                                                                print("%s: %s"%(_(u'Size'),data['size']))
     54#                                                               print(_(u'License')+': '+data['license'])
     55                                                                print("%s: %s"%(_(u'License'),data['license']))
    4856                                                                listCat=[]
    4957                                                                for cat in data['categories']:
    5058                                                                        listCat.append(_(cat))
    51                                                                 print(_(u'Categories')+': '+','.join(listCat))
     59#                                                               print(_(u'Categories')+': '+','.join(listCat))
     60                                                                print("%s: %s"%(_(u'Categories'),','.join(listCat)))
    5261                                                                msg=''
    5362                                                                if data['state']=='installed':
     
    5766                                                                if data['updatable']:
    5867                                                                        msg +=_(' (updatable)')
    59                                                                 print(_(u'Status')+': '+msg)
    60                                                                 print(_(u'Summary')+': '+data['summary'])
     68#                                                               print(_(u'Status')+': '+msg)
     69                                                                print("%s: %s"%(_(u'Status'),msg))
     70#                                                               print(_(u'Summary')+': '+data['summary'])
     71                                                                print("%s: %s"%(_(u'Summary'),data['summary']))
    6172                                                                desc=(html2text.html2text(data['description'],"lxml"))
    62                                                                 print(_(u'Description')+': '+desc)
     73#                                                               print(_(u'Description')+': '+desc)
     74                                                                print("%s: %s"%(_(u'Description'),desc))
    6375                                                                pkgString=[]
    6476                                                                for dependency in data['depends']:
    6577                                                                                pkgName=dependency.split(';')[0]
    6678                                                                                pkgString.append(pkgName)
    67                                                                 print(_(u'Depends')+': '+', '.join(pkgString))
     79#                                                               print(_(u'Depends')+': '+', '.join(pkgString))
     80                                                                print("%s: %s"%(_(u'Depends'), ''.join(pkgString)))
    6881                                                                print("")
    6982                                                        except Exception as e:
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/storeManager.py

    r6693 r7119  
    1717class StoreManager():
    1818        def __init__(self,*args,**kwargs):
    19                 self.dbg=False
    2019                if 'dbg' in kwargs.keys():
    2120                        self.dbg=kwargs['dbg']
     21                self.dbg=True
    2222                self._propagate_dbg=False
    2323                self.store=None
     
    391391        def _load_Store(self):
    392392                action='load'
     393                #Load appstream metada first
     394                package_type='*'
     395                load_function=self._execute_class_method(action,package_type,launchedby=None)
     396                self.store=load_function.execute_action(action=action,store=self.store)['data']
     397                #Once appstream is loaded load the appstream plugins for other package types (snap, appimage...)
    393398                for package_type in self.plugins_registered[action]:
    394                         load_function=self._execute_class_method(action,package_type,launchedby=None)
    395                         self.store=load_function.execute_action(action=action,store=self.store)['data']
     399                        if package_type!='*':
     400                                load_function=self._execute_class_method(action,package_type,launchedby=None)
     401                                self.store=load_function.execute_action(action=action,store=self.store)['data']
    396402        #def _load_Store
    397403
     
    425431                result['status']={'status':0,'msg':''}
    426432                for app_info in info_applist:
    427                         package_type=self._check_package_type(app_info)
    428                         if package_type in types_dict:
    429                                 types_dict[package_type].append(app_info)
    430                         else:
    431                                 types_dict[package_type]=[app_info]
     433                        available_channels=self._check_package_type(app_info)
     434                        for package_type in available_channels:
     435                                if package_type in types_dict:
     436                                        types_dict[package_type].append(app_info)
     437                                else:
     438                                        types_dict[package_type]=[app_info]
    432439                for package_type in types_dict:
    433440                        self._debug("Checking plugin for %s %s"%(action,package_type))
     
    613620                #Zomandos must have the subcategory "Zomando"
    614621                self._debug("Checking package type for app "+app_info['name'])
     622                return_msg=[]
     623                if app_info['component']:
     624                        return_msg.append('*')
    615625                if "Zomando" in app_info['categories']:
    616                         return_msg="zmd"
    617                 else:
     626                        return_msg.append("zmd")
    618627                #Standalone installers must have an installerUrl field loaded from a bundle type=script description
    619                         if app_info['bundle']!='':
    620                                 return_msg=app_info['bundle']
    621                         elif app_info['installerUrl']!='':
    622                                 return_msg="sh"
    623                         else:
    624                                 return_msg="deb"
     628                if app_info['bundle']:
     629                        return_msg.append('bundle')
     630                if app_info['installerUrl']!='':
     631                        return_msg.append("sh")
     632                else:
     633                        return_msg=["deb"]
    625634                return(return_msg)
    626635        #def _check_package_type
Note: See TracChangeset for help on using the changeset viewer.