Changeset 6521


Ignore:
Timestamp:
Dec 19, 2017, 2:00:53 PM (2 years ago)
Author:
jrpelegrina
Message:

Improve performance

Location:
epi/trunk/fuentes
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • epi/trunk/fuentes/epi-cli/__init__.py

    r6462 r6521  
    4242                        order=order-1
    4343                        tmp=self.epicore.epiFiles[order]
    44                         if tmp["type"]!="file":
    45                                 for item in tmp["pkg_list"]:
    46                                         if order>0:
    47                                                 depends=depends+item["name"]+" "
    48                                         else:   
    49                                                 pkgs=pkgs+item["name"] +" "
     44                        #if tmp["type"]!="file":
     45                        for item in tmp["pkg_list"]:
     46                                if order>0:
     47                                        depends=depends+item["name"]+" "
     48                                else:   
     49                                        pkgs=pkgs+item["name"] +" "
     50                        '''
    5051                        else:
    5152                                if order>0:
     
    5354                                else:
    5455                                        pkgs=pkgs+tmp["name"]   
     56                        '''             
    5557
    5658                return depends,pkgs     
  • epi/trunk/fuentes/epi-gtk/python3-epigtk/EpiBox.py

    r6136 r6521  
    9898                for item in info:
    9999                        order=item
    100                         if info[item]["type"]!="file":
    101                                 for element in info[item]["pkg_list"]:
    102                                         name=element["name"]
    103                                         self.new_epi_box(name,order)
    104 
     100                        #if info[item]["type"]!="file":
     101                        for element in info[item]["pkg_list"]:
     102                                name=element["name"]
     103                                self.new_epi_box(name,order)
     104
     105                        '''     
    105106                        else:
    106107                                name=info[item]["name"]
    107108                                self.new_epi_box(name,order)
    108 
     109                        '''
    109110                self.get_icon_toupdate()       
    110111
     
    190191                self.update_icons={}
    191192
     193                '''
    192194                for item in self.epi_list_box.get_children():
    193195                        for element in item.get_children():
     196                                if element.order not in self.update_icons:
     197                                        self.update_icons[element.order]={}     
     198                                        self.update_icons[element.order]['icon_package']=[]
     199                                        self.update_icons[element.order]['icon_status']=[]
    194200                                if element.pkg:
    195                                         self.update_icons[element.order]={}
    196                                         self.update_icons[element.order]["icon_package"]=element
     201                                        self.update_icons[element.order]['icon_package'].append(element)
     202
     203                                if element.status:
     204                                        self.update_icons[element.order]['icon_status'].append(element)
     205                '''                     
     206
     207                for item in self.epi_list_box.get_children():
     208                        tmp={}                 
     209                        for element in item.get_children():
    197210                               
     211                                if element.order not in self.update_icons:
     212                                        #self.update_icons[element.order]={}   
     213                                        self.update_icons[element.order]=[]
     214                                if element.pkg:
     215                                        tmp['icon_package']=element
     216                                        #self.update_icons[element.order]['icon_package'].append(element)
     217
    198218                                if element.status:
    199                                         self.update_icons[element.order]["icon_status"]=element
     219                                        tmp['icon_status']=element
     220
     221                                       
     222                        if len(tmp)>0:
     223                                self.update_icons[element.order].append(tmp)
     224
    200225
    201226        #def get_icon_toupdate                         
  • epi/trunk/fuentes/epi-gtk/python3-epigtk/MainWindow.py

    r6462 r6521  
    175175
    176176                self.load_epi_conf=self.core.epiManager.epiFiles
    177 
    178177                self.order=len(self.load_epi_conf)
    179                                
    180178                self.epiBox.load_info(self.load_epi_conf)
     179               
    181180                if self.order>1:
    182181                        self.epiBox.epi_depend_label.show()
    183182                        self.epiBox.scrolledwindow.set_size_request(500,160)
    184183                else:
    185                         self.epiBox.scrolledwindow.set_size_request(500,90)
     184                        if len(self.load_epi_conf[0]["pkg_list"])>1:
     185                                self.epiBox.scrolledwindow.set_size_request(500,160)
     186                        else:   
     187                                self.epiBox.scrolledwindow.set_size_request(500,90)
    186188               
    187189       
     
    380382
    381383       
    382                 element=self.epiBox.update_icons[order]["icon_status"]
    383                 element.set_from_file(self.img)                 
    384                                                        
     384                elements=self.epiBox.update_icons[order]
     385                for item in elements:
     386                        item['icon_status'].set_from_file(self.img)
     387                       
    385388        #def spinner_sync                                               
    386389
     
    828831                dpkg_status=params[3]
    829832
    830                 element=self.epiBox.update_icons[order]
     833                elements=self.epiBox.update_icons[order]
     834
     835                elements=self.epiBox.update_icons[order]
     836                for item in elements:
     837                        item['icon_status'].set_from_file(self.img)
    831838
    832839                if result:
    833                         element["icon_status"].set_from_file(self.ok_image)
    834                         if process=="install":
    835                                 if order==0:
    836                                         element["icon_package"].set_from_file(self.core.epiBox.package_installed)
     840                        for item in elements:
     841                                #element["icon_status"].set_from_file(self.ok_image)
     842                                item['icon_status'].set_from_file(self.ok_image)
     843                                if process=="install":
     844                                        if order==0:
     845                                                #element["icon_package"].set_from_file(self.core.epiBox.package_installed)
     846                                                item['icon_package'].set_from_file(self.core.epiBox.package_installed)
     847
     848                                        else:
     849                                                #element["icon_package"].set_from_file(self.core.epiBox.package_installed_dep)
     850                                                item['icon_package'].set_from_file(self.core.epiBox.package_installed_dep)
     851
    837852                                else:
    838                                         element["icon_package"].set_from_file(self.core.epiBox.package_installed_dep)
    839                         else:
    840                                 if order==0:
    841                                         element["icon_package"].set_from_file(self.core.epiBox.package_availabled)
    842                                 else:
    843                                         element["icon_package"].set_from_file(self.core.epiBox.package_availabled_dep)
     853                                        if order==0:
     854                                                #element["icon_package"].set_from_file(self.core.epiBox.package_availabled)
     855                                                item['icon_package'].set_from_file(self.core.epiBox.package_availabled)
     856                                        else:
     857                                                #element["icon_package"].set_from_file(self.core.epiBox.package_availabled_dep)
     858                                                item['icon_package'].set_from_file(self.core.epiBox.package_availabled_dep)
     859
    844860
    845861                else:
    846862                        if dpkg_status !=None and len(dpkg_status)>0:
    847                                 status=dpkg_status[element["icon_status"].id]
    848                                 if process=="install":
    849                                         if status=="installed":
    850                                                 element["icon_status"].set_from_file(self.ok_image)
    851                                                 if order==0:
    852                                                         element["icon_package"].set_from_file(self.core.epiBox.package_installed)       
     863                                for item in elements:
     864                                        status=dpkg_status[item['icon_status'].id]
     865                                        if process=="install":
     866                                                if status=="installed":
     867                                                        #element["icon_status"].set_from_file(self.ok_image)
     868                                                        item['icon_status'].set_from_file(self.ok_image)
     869                                                        if order==0:
     870                                                                item["icon_package"].set_from_file(self.core.epiBox.package_installed) 
     871                                                        else:
     872                                                                item["icon_package"].set_from_file(self.core.epiBox.package_installed_dep)     
     873               
    853874                                                else:
    854                                                         element["icon_package"].set_from_file(self.core.epiBox.package_installed_dep)   
    855        
     875                                                        #element["icon_status"].set_from_file(self.error_image)
     876                                                        item['icon_status'].set_from_file(self.error_image)
     877
     878                                                        if order==0:
     879                                                                item["icon_package"].set_from_file(self.core.epiBox.package_availabled)
     880                                                        else:
     881                                                                item["icon_package"].set_from_file(self.core.epiBox.package_availabled_dep)
     882
    856883                                        else:
    857                                                 element["icon_status"].set_from_file(self.error_image)
    858                                                 if order==0:
    859                                                         element["icon_package"].set_from_file(self.core.epiBox.package_availabled)
     884                                                if status=="availabled":
     885                                                        item["icon_status"].set_from_file(self.ok_image)
    860886                                                else:
    861                                                         element["icon_package"].set_from_file(self.core.epiBox.package_availabled_dep)
    862 
    863                                 else:
    864                                         if status=="availabled":
    865                                                 element["icon_status"].set_from_file(self.ok_image)
    866                                         else:
    867                                                 element["icon_status"].set_from_file(self.error_image) 
     887                                                        item["icon_status"].set_from_file(self.error_image)     
    868888
    869889                        else:
    870                                 element["icon_status"].set_from_file(self.error_image)                 
     890                                for item in elements:
     891
     892                                        #element["icon_status"].set_from_file(self.error_image)                 
     893                                        item['icon_status'].set_from_file(self.error_image)                     
     894
    871895
    872896        #def update_icon
  • epi/trunk/fuentes/python3-epi/epimanager.py

    r6469 r6521  
    3535                                        "required_x" : False,
    3636                                        "script": {},
    37                                         "depends" :"",
     37                                        "depends":"",
    3838                                        "zomando":"",
    3939                                        "required_root":False,
    40                                         "url_download":""
     40                                        "download_byscript":False
    4141                                        }
    4242
     
    8484                        self.zomando_name[self.order]=epi_conf["zomando"]
    8585                        try:
    86                                 if conf_base["depends"]!="":
     86                                if epi_conf["depends"]!="":
    8787                                        self.order=self.order+1
    8888                                        self.read_conf(epi_conf["depends"])
     
    101101                for item in tmp_list:
    102102                        pkg_list=[]
    103                         if tmp_list[item]["type"]!="file":
    104                                 pkg_list=tmp_list[item]["pkg_list"]
     103                        #if tmp_list[item]["type"]!="file":
     104                        pkg_list=tmp_list[item]["pkg_list"]
     105                       
     106                        '''
    105107                        else:
     108                               
    106109                                element={}
    107110                                element["name"]=tmp_list[item]["name"]
    108111                                element["key_store"]=tmp_list[item]["key_store"]
    109112                                pkg_list.append(element)
    110 
    111                         info=self.get_store_info(pkg_list)
     113                        '''
     114                        info=self.get_store_info(pkg_list,item)
    112115
    113116                        cont=0
     
    132135                                                       
    133136
    134         def get_store_info(self,pkg_list):                     
    135 
     137        def get_store_info(self,pkg_list,order):                       
     138
     139                        pkg_info={}
     140                       
    136141                        for item in pkg_list:
    137                                 pkg_info={}
    138142                                app=item["name"]
    139143                                name=""
     
    159163                                                        status=data["info"][0]["state"]
    160164                                                else:
    161                                                         status=self.check_pkg_status(app)
     165                                                        status=self.check_pkg_status(app,order)
    162166                                                       
    163167
     
    170174
    171175                                        else:
    172                                                 status=self.check_pkg_status(app)               
     176                                                status=self.check_pkg_status(app,order)         
    173177                                else:
    174                                         status=self.check_pkg_status(app)               
     178                                        status=self.check_pkg_status(app,order)         
    175179                               
    176180                                pkg_info[app]={}
     
    183187                                pkg_info[app]["summary"]=summary
    184188
    185                                 return pkg_info
     189                        return pkg_info
    186190
    187191        #def get_store_info                     
    188192
    189         def check_pkg_status(self,pkg):
     193        def check_pkg_status(self,pkg,order=None):
    190194       
    191195
     
    196200                if len(poutput)>0:
    197201                        return "installed"
     202                else:
     203                        if order !=None:
     204                                if len(self.epiFiles[order]["script"])>0:
     205                                        try:
     206                                                if self.epiFiles[order]["script"]["status"]:
     207
     208                                                        if os.path.exists(self.epiFiles[order]["script"]["name"]):
     209                                                                cmd=self.epiFiles[order]["script"]["name"] +' status';
     210                                                                p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
     211                                                                poutput=p.communicate()
     212                                                                if len(poutput)>0:
     213                                                                        if poutput[0].decode("utf-8").split("\n")[0]=='0':
     214                                                                                return "installed"
     215                                               
     216                                        except Exception as e:
     217                                                print (str(e))
     218                                                pass   
    198219                               
    199220                return "available"     
     
    304325                                        if item["url"]!="":
    305326                                                f.write(item["url"]+'\n')
    306                                         if item["key_cmd"]!="":
    307                                                 cmd=cmd+item["key_cmd"]+';'     
     327                                        try:
     328                                                key_cmd=item["key_cmd"]
     329                                                if key_cmd !="":
     330                                                        cmd=cmd+key_cmd+';'     
     331                                        except Exception as e:
     332                                                if len(self.epi_conf["script"])>0:
     333                                                        try:
     334                                                                if self.epi_conf["script"]["addRepoKeys"]:
     335                                                                        if os.path.exists(self.epi_conf["script"]["name"]):
     336                                                                                command=self.epi_conf["script"]["name"] + ' addRepoKeys;'
     337                                                                                cmd=cmd+command
     338                                                        except Exception as e:
     339                                                                print (str(e))
     340                                                                pass
    308341
    309342                                f.close()
     
    321354
    322355                if self.force32:
    323                         if self.type=="deb":
    324                                 version=item["version"]["32b"]
     356                       
     357                        #if self.type=="deb":
     358                        version=item["version"]["32b"]
     359                        '''
    325360                        else:
    326361                                version=self.epi_conf["version"]["32b"]
     362                        '''     
    327363                else:
    328                         if self.type=="deb":
    329                                 if item["version"]["all"]=="":
    330                                         version=item["version"]["64b"]
    331                                 else:
    332                                         version=item["version"]["all"]
     364                        #if self.type=="deb":
     365                        if item["version"]["all"]=="":
     366                                version=item["version"]["64b"]
     367                        else:
     368                                version=item["version"]["all"]
     369                        '''
    333370                        else:
    334371                                if self.epi_conf["version"]["all"]=="":
     
    336373                                else:
    337374                                        version=self.epi_conf["version"]["all"]                 
    338 
     375                        '''
    339376                return version
    340377
     
    343380        def download_app(self):
    344381
     382                manage_download=True
    345383                self.download_folder={}
    346384                cmd=""
     
    351389                        self.token_result_download=tempfile.mkstemp("_result_download")
    352390
     391                       
     392                        if self.type=="file":
     393                                if self.epi_conf["download_byscript"]:
     394                                        manage_download=False
     395
     396
     397                        if manage_download:
     398
     399                                for item in self.epi_conf["pkg_list"]:
     400                                        version=self.get_app_version(item)
     401                                        if self.type=="deb":
     402                                                name=item["name"]+".deb"
     403                                                tmp_file=os.path.join(self.download_path,name)
     404                                        else:
     405                                                name=item["name"]
     406                                                tmp_file=os.path.join(self.download_path,version)
     407                               
     408                                        url=item["url_download"]
     409                                       
     410                                        if os.path.exists(tmp_file):
     411                                                cmd=cmd+'rm -f '+ tmp_file +';'
     412                                        self.download_folder["name"]=tmp_file
     413                                        cmd=cmd+'wget ' +url+version + ' --progress=bar:force -O ' + tmp_file +'; '
     414                                        #cmd=cmd+'curl -o ' + tmp_file +' -C - '+ url + version
     415
     416                                cmd=cmd + ' echo $? >' + self.token_result_download[1] +';'     
     417                        '''
    353418                        if self.type=="deb":
    354419
     
    378443                                        cmd=cmd+'curl -o ' + tmp_file +' -C - '+ url + version + '; echo $? >' + self.token_result_download[1] +';'
    379444
     445                        '''
     446
    380447                return cmd                     
    381448                                       
     
    481548                        self.token_result_install=tempfile.mkstemp("_result")
    482549                        script=self.epi_conf["script"]["name"]
    483                         cmd=script + ' install; echo $? >' + self.token_result_install[1] +';'
     550                        if os.path.exists(script):
     551                                cmd=script + ' install; echo $? >' + self.token_result_install[1] +';'
    484552
    485553               
     
    607675                        self.token_result_remove=tempfile.mkstemp("_result_remove")
    608676                        script=self.epiFiles[order]["script"]["name"]
    609                         cmd=script + ' Remove; echo $? >' + self.token_result_remove[1] + ';'
     677                        if os.path.exists(script):
     678                                cmd=script + ' Remove; echo $? >' + self.token_result_remove[1] + ';'
    610679
    611680                return cmd
Note: See TracChangeset for help on using the changeset viewer.