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

Icon cache for snaps

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

Legend:

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

    r6694 r7075  
    7171                                                elif action=='search':
    7272                                                        #Only print name and summary
    73                                                         if data['package'] not in data['id'] or data['package'] in processed:
    74                                                                 print(color.DARKCYAN+data['package']+color.END+" ("+data['id']+"): "+data['summary'])
     73                                                        printcolor=color.DARKCYAN
     74                                                        data_id=''
     75                                                        if data['bundle']!='':
     76                                                                printcolor=color.PURPLE
     77                                                        elif (data['package'] not in data['id'] or data['package'] in processed):
     78                                                                data_id=" (%s)"%data['id']
     79#                                                               search_result=printcolor+data['package']+color.END+" ("+data['id']+"): "+data['summary']
    7580                                                        else:
    76                                                                 print(color.DARKCYAN+data['package']+color.END+": "+data['summary'])
     81#                                                               search_result=printcolor+data['package']+color.END+": "+data['summary']
    7782                                                                processed.append(data['package'])
     83                                                        print("%s%s%s%s: %s"%(printcolor,data['package'],data_id,color.END,data['summary']))
    7884
    7985                                                elif action=='list':
  • lliurex-store/trunk/fuentes/lliurex-store-gui/usr/share/lliurex-store/lliurex-store-gui/LliurexStoreManager.py

    r5703 r7075  
    1111        def __init__(self):
    1212               
    13                 self.store=lliurexstore.storeManager.StoreManager(0)
     13                self.store=lliurexstore.storeManager.StoreManager(snap=True)
    1414                # library has its own textdomain and I am forced to change it back to lliurex-store
    1515                gettext.textdomain('lliurex-store')             
     
    108108               
    109109                action="list"
    110                 self.store.execute_action(action,[category_tag])
     110                self.store.execute_action(action,[category_tag],max_results=10)
    111111               
    112112                while self.store.is_action_running(action):
  • 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.