Ignore:
Timestamp:
Jul 3, 2018, 10:13:32 AM (17 months ago)
Author:
Juanma
Message:

minor bugfix

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

Legend:

Unmodified
Added
Removed
  • lliurex-store/trunk/fuentes/debian/changelog

    r7490 r7629  
     1lliurex-store (0.5.6.2) xenial; urgency=medium
     2
     3  * Minor bugfix. Don't crash when /var/lib/app-info/icons doesn't exists (it must exists but...)
     4
     5 -- Juanma Navarro Mañez <juanma1980@gmail.com>  Tue, 03 Jul 2018 10:12:10 +0200
     6
    17lliurex-store (0.5.6.1) xenial; urgency=medium
    28
  • lliurex-store/trunk/fuentes/lliurex-store-gui/usr/share/lliurex-store/lliurex-store-gui/ResourcesManager.py

    r7432 r7629  
    6666               
    6767                component=pkg_info["component"]
    68                
    6968                ret_icon=self.icon_db.lookup_icon(debian_name,256,Gtk.IconLookupFlags.FORCE_SVG)
     69                if ret_icon!=None:
     70                        return ret_icon.get_filename()
     71               
     72                ret_icon=self.icon_db.lookup_icon(icon,256,Gtk.IconLookupFlags.FORCE_SVG)
    7073                if ret_icon!=None:
    7174                        return ret_icon.get_filename()
     
    99102                                else:
    100103                                #Last attempt
    101                                         pkg_id=pkg_info['id'].split('.')[-2]
    102                                         icon="64x64/%s_%s.png"%(debian_name,pkg_id)
     104                                        if len(pkg_info['id'].split('.'))>2:
     105                                                pkg_id=pkg_info['id'].split('.')[-2]
     106                                                icon="64x64/%s_%s.png"%(debian_name,pkg_id)
    103107                                ret_icon=self.icons_path+"%s/%s"%(component,icon)
    104108                                if os.path.exists(ret_icon):
     
    106110                                else:
    107111                                #Unaccurate icon search...
    108                                         for icon_file in os.listdir(self.icons_path+"/"+component+"/64x64/"):
    109                                                 if re.search("^.*"+pkg_info['icon']+".*\.png",icon_file):
    110                                                         ret_icon=self.icons_path+"%s/64x64/%s"%(component,icon_file)
    111                                                         return ret_icon
    112                                                                
     112                                        if os.path.isdir(self.icons_path+"/"+component+"/64x64"):
     113                                                for icon_file in os.listdir(self.icons_path+"/"+component+"/64x64/"):
     114                                                        if re.search("^.*"+pkg_info['icon']+".*\.png",icon_file):
     115                                                                ret_icon=self.icons_path+"%s/64x64/%s"%(component,icon_file)
     116                                if os.path.exists(ret_icon):
     117                                        return ret_icon
     118                                else:
     119                                #The very last attempt. We'll look for the icon in the desktop (if any)
     120                                        desktop_file=pkg_info['id']
     121                                        if not desktop_file.endswith(".desktop"):
     122                                                desktop_file=desktop_file+".desktop"
     123                                        if os.path.isfile("/usr/share/applications/%s"%desktop_file):
     124                                                f=open("/usr/share/applications/%s"%desktop_file,'r')
     125                                                for l in f.readlines():
     126                                                        if l.startswith("Icon"):
     127                                                                icon_name=l.split('=')[-1].strip('\n')
     128                                                                if os.path.isfile(icon_name):
     129                                                                        return(icon_name)
     130                                                                else:
     131                                                                        ret_icon=self.icon_db.lookup_icon(icon_name,256,Gtk.IconLookupFlags.FORCE_SVG)
     132                                                                        if ret_icon:
     133                                                                                return(ret_icon.get_filename())
    113134
    114135                ret_icon=self.package_icon
Note: See TracChangeset for help on using the changeset viewer.