Ignore:
Timestamp:
Jun 23, 2016, 12:41:16 PM (4 years ago)
Author:
hectorgh
Message:

adding check info window

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-java-panel/trunk/fuentes/install-files/usr/share/lliurex-java-panel/lliurex-java-panel.py

    r1992 r1995  
    1111import ConfigParser
    1212import platform
    13 
     13import subprocess
     14import sys
    1415from math import pi
    1516
     
    4344                self.info["animation_active"]=False
    4445                self.info["shadow_start"]=0
     46                self.info["available"]=True
    4547               
    4648                if os.path.exists(BANNERS_PATH+self.info["pkg"]+".png"):
     
    224226                '''
    225227               
    226                 for item in sorted(os.listdir(JAVAS_CONFIG_PATH)):
    227                         if os.path.isfile(JAVAS_CONFIG_PATH+item):
    228                                 gb=self.configuration_parser.load_plugin(JAVAS_CONFIG_PATH+item)
    229                                 if gb!=None:
    230                                         self.add_grid_button(gb)
    231                                        
    232                                
     228                       
    233229               
    234230               
     
    239235               
    240236                self.main_window=builder.get_object("main_window")
    241                 self.main_window.show_all()
     237               
    242238               
    243239                self.main_window.connect("destroy",self.quit)
     
    247243                self.pbar=builder.get_object("progressbar")
    248244                self.progress_window.set_transient_for(self.main_window)
     245               
     246                self.gather_window=builder.get_object("gather_window")
     247                self.gather_pbar=builder.get_object("progressbar1")
     248                self.progress_label=builder.get_object("progress_label")
    249249               
    250250                self.label_clicked(None,None,0)
     
    292292                self.build_jre_alternatives()
    293293                self.build_firefox_alternatives()
    294 
    295294                self.configuration_box.show_all()
    296                
     295
    297296                self.set_css_info()
     297               
     298                #self.main_window.show_all()
     299                self.gather_window.show_all()
     300                GLib.timeout_add(100,self.pulsate_gathering_info)
     301               
     302                self.t=threading.Thread(target=self.gather_info)
     303                self.t.daemon=True
     304                self.t.start()
     305               
     306               
    298307                GObject.threads_init()         
    299308                Gtk.main()
     
    301310        #def
    302311       
     312        def gather_info(self):
     313               
     314                import time
     315                base_apt_cmd="apt-cache policy "
     316               
     317                gbs=[]
     318               
     319                for item in sorted(os.listdir(JAVAS_CONFIG_PATH)):
     320                        if os.path.isfile(JAVAS_CONFIG_PATH+item):
     321                                gb=self.configuration_parser.load_plugin(JAVAS_CONFIG_PATH+item)
     322                                if gb!=None:
     323                                        sys.stdout.write("* Checking %s ...\t"%gb.info["pkg"])
     324                                        gb.info["installed"]=self.is_installed(gb.info["pkg"])
     325                                        sys.stdout.write("%s\n"%gb.info["installed"])
     326                                        base_apt_cmd += "%s "%gb.info["pkg"]
     327                                        gbs.append(gb)
     328                                       
     329                p=subprocess.Popen([base_apt_cmd],shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)     
     330                output=p.communicate()
     331               
     332                for gb in gbs:
     333                       
     334                        if gb.info["pkg"] not in output[0]:
     335                                print(" [!] %s not available [!] "%gb.info["pkg"])
     336                                gb.info["available"]=False
     337                        else:   
     338                                self.add_grid_button(gb)       
     339                       
     340               
     341
     342       
     343        #def gather_info
     344       
     345        def pulsate_gathering_info(self):
     346               
     347                self.gather_pbar.pulse()
     348               
     349                if not self.t.is_alive():
     350                       
     351                        self.gather_window.hide()
     352                        self.main_window.show_all()
     353               
     354                return self.t.is_alive()
     355               
     356        #def pulsate_gathering
    303357       
    304358        def set_css_info(self):
     
    371425
    372426
    373                 .radio#UNO {
     427                .radio#RED {
    374428                  -gtk-icon-source: -gtk-scaled(url("/usr/share/lliurex-java-panel/rsrc/radio-unchecked.png"), url("/usr/share/lliurex-java-panel/rsrc/radio-unchecked.png")); }
    375429
    376430               
    377431               
    378                 .radio:checked#UNO {
     432                .radio:checked#RED {
    379433                  -gtk-icon-source: -gtk-scaled(url("/usr/share/lliurex-java-panel/rsrc/radio-checked.png"), url("/usr/share/lliurex-java-panel/rsrc/radio-checked.png")); }
    380434
    381                 GtkButton#UNO GtkLabel {
     435                GtkButton#RED GtkLabel {
    382436                        color: #8297a1;
    383437                        font: Quattrocento Sans 11;
     
    395449                self.configuration_label.set_name("MAIN_LABEL_DISABLED")
    396450                self.pbar.set_name("RED_PROGRESS")
     451                self.gather_pbar.set_name("RED_PROGRESS")
    397452                self.confbutton_grid.set_name("DARK_BACK")
     453                self.progress_label.set_name("ALTERNATIVES_LABEL")
    398454               
    399455               
    400456        #def css_info
    401457
     458       
     459        def is_installed(self,pkg):
     460               
     461               
     462                p=subprocess.Popen(["dpkg-query -W -f='${db:Status-Status}' %s"%pkg],shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
     463                output=p.communicate()
     464               
     465                if output[0]=="installed":
     466                        return True
     467                       
     468                return False
     469               
     470               
     471        #def check_installed
     472       
    402473       
    403474
     
    469540               
    470541                        a=Alternative("CPANEL ALTERNATIVE #%s"%x,"command alternative cpanel #%s"%x)
    471                         a.set_name("UNO")
     542                        a.set_name("RED")
    472543                        alternative_list.append(a)
    473544                        tmp_box.pack_start(a,False,False,15)
     
    503574               
    504575                        a=Alternative("JWS ALTERNATIVE #%s"%x,"command alternative jws #%s"%x)
    505                         a.set_name("UNO")
     576                        a.set_name("RED")
    506577                        alternative_list.append(a)
    507578                        tmp_box.pack_start(a,False,False,15)
     
    538609               
    539610                        a=Alternative("JRE ALTERNATIVE #%s"%x,"command alternative jre #%s"%x)
    540                         a.set_name("UNO")
     611                        a.set_name("RED")
    541612                        alternative_list.append(a)
    542613                        tmp_box.pack_start(a,False,False,15)
     
    574645               
    575646                        a=Alternative("FIREFOX ALTERNATIVE #%s"%x,"command alternative firefox #%s"%x)
    576                         a.set_name("UNO")
     647                        a.set_name("RED")
    577648                        alternative_list.append(a)
    578649                        tmp_box.pack_start(a,False,False,15)
     
    724795                        pctx.set_font_description(desc)
    725796                        ctx.set_source_rgba(self.green.r,self.green.g,self.green.b,1)
    726                         txt="Instal·lat"
     797                        txt=_("Installed")
    727798                        pctx.set_markup(txt)
    728799                        width=pctx.get_pixel_size()[0]
Note: See TracChangeset for help on using the changeset viewer.