Ignore:
Timestamp:
Mar 20, 2018, 12:16:10 PM (23 months ago)
Author:
Juanma
Message:

Icon cache for snaps

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

Legend:

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

    r6693 r7075  
    112112                        #The values are the values of appstream.ImageKind. 1=Source, 2=Thumbnail, 0=UNKNOWN
    113113                        #yml currently doen's support unkown images so we assign videos depending on file extension
    114                                                 if not re.search(r'\.....?$',img.get_url()):
    115                                                         appInfo['video']=img.get_url()
    116                                                         continue
    117                                                 if img.get_kind()==0:   
    118                                                         appInfo['video']=img.get_url()
    119                                                         continue
    120                                                 if img.get_kind()==1: #2=Default;1=normal;0=unknown
    121                                                         default_screenshot=img.get_url()
    122                                                         screenshots_list.append(img.get_url())
    123                                                         continue
    124                                                 if img.get_kind()==2:   
    125                                                         thumbnails_list.append(img.get_url())
    126                                                         continue
     114                                                if img.get_url():
     115                                                        if not re.search(r'\.....?$',img.get_url()):
     116                                                                appInfo['video']=img.get_url()
     117                                                                continue
     118                                                        if img.get_kind()==0:   
     119                                                                appInfo['video']=img.get_url()
     120                                                                continue
     121                                                        if img.get_kind()==1: #2=Default;1=normal;0=unknown
     122                                                                default_screenshot=img.get_url()
     123                                                                screenshots_list.append(img.get_url())
     124                                                                continue
     125                                                        if img.get_kind()==2:   
     126                                                                thumbnails_list.append(img.get_url())
     127                                                                continue
     128                                                elif img.get_basename():
     129                                                                screenshots_list.append("/home/lliurex/.cache/lliurex-store/images/"+img.get_basename())
     130
    127131
    128132                                        appInfo['thumbnails']=thumbnails_list
  • lliurex-store/trunk/fuentes/python3-lliurex-store.install/usr/share/lliurexstore/plugins/snapManager.py

    r7070 r7075  
    2727                self.disabled=False
    2828                self.icon_cache_enabled=True
     29                self.image_cache_enabled=True
    2930                self.cli_mode=False
    3031                if not os.path.isdir(self.icons_folder):
     
    3839                                os.makedirs(self.images_folder)
    3940                        except:
    40                                 self.icon_cache_enabled=False
    41                                 self._debug("Icon cache disabled")
     41                                self.image_cache_enabled=False
     42                                self._debug("Image cache disabled")
    4243        #def __init__
    4344
     
    159160                        for snap_screen in pkg.get_screenshots():
    160161                                img=appstream.Image()
    161                                 img.load_filename(self._download_file(snap_screen.get_url(),pkg.get_name(),self.images_folder))
     162#                               img.load_filename(self._download_file(snap_screen.get_url(),pkg.get_name(),self.images_folder))
     163                                img.set_kind(appstream.ImageKind.SOURCE)
     164                                img.set_url(snap_screen.get_url())
    162165                                break
    163166                        screenshot.add_image(img)
    164167                        app.add_screenshot(screenshot)
    165 #                       screenshot_list=[]
    166 #                               for screen in pkg.get_screenshots():
    167 #                                       screenshot_list.append(screen.get_url())
    168 
    169 #                               app_info["screenshots"]=screenshot_list
    170168                return(app)
    171169
     
    218216                target_file=dest_dir+'/'+app_name+".png"
    219217                if not os.path.isfile(target_file):
    220                         self._debug("Downloading %s to %s"%(url,target_file))
    221                         try:
    222                                 with urllib.request.urlopen(url) as response, open(target_file, 'wb') as out_file:
    223                                         bf=16*1024
    224                                         acumbf=0
    225                                         file_size=int(response.info()['Content-Length'])
    226                                         while True:
    227                                                 if acumbf>=file_size:
    228                                                     break
    229                                                 shutil.copyfileobj(response, out_file,bf)
    230                                                 acumbf=acumbf+bf
    231                                 st = os.stat(target_file)
    232                                 os.chmod(target_file, st.st_mode | 0o111)
    233                         except Exception as e:
    234                                 self._debug("Unable to download %s"%url)
    235                                 self._debug("Reason: %s"%e)
     218#                       shutil.copy("/usr/share/icons/hicolor/128x128/apps/lliurex-store.png",target_file)
     219#                       if not os.fork():
     220                        if not os.path.isfile(target_file):
     221                                self._debug("Downloading %s to %s"%(url,target_file))
     222                                try:
     223                                        with urllib.request.urlopen(url) as response, open(target_file, 'wb') as out_file:
     224                                                bf=16*1024
     225                                                acumbf=0
     226                                                file_size=int(response.info()['Content-Length'])
     227                                                while True:
     228                                                        if acumbf>=file_size:
     229                                                            break
     230                                                        shutil.copyfileobj(response, out_file,bf)
     231                                                        acumbf=acumbf+bf
     232                                        st = os.stat(target_file)
     233                                except Exception as e:
     234                                        self._debug("Unable to download %s"%url)
     235                                        self._debug("Reason: %s"%e)
     236#                               os._exit(0)
    236237                return(target_file)
    237238        #def _download_file
Note: See TracChangeset for help on using the changeset viewer.