Ignore:
Timestamp:
Jul 28, 2017, 10:46:32 AM (3 years ago)
Author:
jrpelegrina
Message:

WIP in indicator. Fix script and po files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-up/trunk/fuentes/lliurex-up-indicator/usr/bin/lliurex-up-indicator

    r5605 r5610  
    6060                self.is_cache_updated=True
    6161                self.last_check=0
    62                 self.lliurexUp_running=False
    63                 self.get_flavour()
    64                 self.get_user_group()
    65                 #self.remote_executing=False
    66 
     62
     63                if os.path.exists(TARGET_FILE):
     64                        self.lliurexUp_running=True
     65                else:
     66                        self.lliurexUp_running=False
     67
     68                self.menuMode()         
     69               
    6770                self.app_indicator=appindicator.Indicator.new(UpgradeIndicator.ID,icon_name,appindicator.IndicatorCategory.APPLICATION_STATUS)
    6871                self.app_indicator.set_status(appindicator.IndicatorStatus.PASSIVE)
     
    7578                self.populate_menu()
    7679                self.start_inotify()
    77 
    78                 self.is_alive()
    7980
    8081                if self.updatedInfo:
     
    8889                       
    8990
     91
     92        def menuMode(self):
     93
     94                flavours=self.get_flavour()
     95                users_group=self.get_user_group()
     96
     97                if users_group and 'client' not in flavours:
     98                        self.updatedInfo=True
     99                else:
     100                        self.updateInfo=False                   
     101
     102
    90103        def worker(self):
    91104                """ Timeout thread """
    92105               
    93106                if(self.is_working==False):
     107                        if self.lliurexUp_running:
     108                                self.is_alive()
     109
    94110                        if self.updatedInfo:
    95                                 if(self.is_cache_updated==True):
    96                                         if not self.remoteUpdateInfo:
     111                                if not self.remoteUpdateInfo:
     112                                        if(self.is_cache_updated==True):
    97113                                                self.upgrade()
    98114                                                self.last_check=0
    99                                 else:
    100                                         self.last_check+=5
    101                                         if(self.last_check>self.FREQUENCY):
    102                                                 if not self.remoteUpdateInfo:
     115                                        else:
     116                                                self.last_check+=5
     117                                                if(self.last_check>self.FREQUENCY):
    103118                                                        self.last_check=0
    104119                                                        self.upgrade() 
    105120
    106                         if self.lliurexUp_running==True and not self.remoteUpdateInfo:
    107                                 self.is_alive()
    108                                        
    109121                return True     
    110122
     
    116128                p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
    117129                result=p.communicate()
    118                 self.flavours = [ x.strip() for x in result[0].split(',') ]     
     130                flavours = [ x.strip() for x in result[0].split(',') ] 
     131               
     132                return flavours
    119133
    120134        #def get_flavour                       
     
    125139                #check if the user is in the enabled group, otherwise the indicator is closed
    126140                user=os.environ["USER"]
    127                 self.group_found=False
     141                group_found=False
    128142               
    129143                for g in grp.getgrall():
     
    131145                                for member in g.gr_mem:
    132146                                        if(member==user):
    133                                                 self.group_found=True
    134                                                 break
     147                                                group_found=True
     148                                               
     149                return group_found                             
    135150
    136151        #def get_user_group                                     
     
    148163                self.menu.insert(item,0)
    149164
    150                 if self.group_found and 'client' not in self.flavours:
    151                         self.updatedInfo=True
     165                if self.updatedInfo:
    152166                        item=Gtk.ImageMenuItem()
    153167                        label_item=_("Update the system now")
    154168                        item.set_label(label_item)
    155169                        img=Gtk.Image()
    156                         img.set_from_stock(Gtk.STOCK_PREFERENCES,Gtk.IconSize.MENU)
     170                        #img.set_from_stock(Gtk.STOCK_PREFERENCES,Gtk.IconSize.MENU)
     171                        img.set_from_icon_name("software-properties",Gtk.IconSize.MENU)
    157172                        item.set_image(img)
    158173                        item.set_always_show_image(True)
     
    210225                cont=0
    211226                remote_pts=[]
     227                remote_users=[]
     228                isrunning=[]
    212229                remote_executing=False
    213230
     
    226243
    227244
    228                 cmd='ps -ef | grep "lliurex-upgrade"'
     245                cmd='ps -ef | grep "lliurex-upgrade" | grep -v "grep"'
    229246                p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
    230247                result=p.communicate()
     
    249266        def is_alive(self):
    250267
     268                #if os.path.exists(TARGET_FILE):
     269                self.is_working=True
     270
     271                self.checkRemote=self.remote_execute()
     272                self.remoteUpdateInfo=True
     273
     274                if self.checkRemote:
     275                        self.menu.show_all()
     276                        for item in self.menu.get_children():
     277                                if not item.remote:
     278                                        item.set_visible(False)
     279                        self.app_indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
     280                               
     281                else:
     282                        self.app_indicator.set_status(appindicator.IndicatorStatus.PASSIVE)
     283
     284                GLib.timeout_add(100,self.check_status)
     285                               
     286                return
     287
     288        #def is_alive   
     289               
     290        def check_status(self):
     291
    251292                if os.path.exists(TARGET_FILE):
    252                         check=self.remote_execute()
    253                         if check:
    254                                 self.is_working=True
    255                                 self.remoteUpdateInfo=True
    256                                 self.menu.show_all()
     293                        if self.checkRemote:
     294                                self.spinner_sync()
    257295                                for item in self.menu.get_children():
    258                                         if not item.remote:
    259                                                 item.set_visible(False)
    260                                 self.app_indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    261                                 GLib.timeout_add(100,self.check_status)
    262                         else:
     296                                        if item.remote:
     297                                        #item=self.menu.get_children()[0]
     298                                                item.set_image(self.sp_img)
     299                                                self.sp_cont=self.sp_cont+1     
     300                        return True
     301                       
     302                else:
     303                        if self.checkRemote:
     304                                img=Gtk.Image.new_from_file(SP1)
     305                                for item in self.menu.get_children():
     306                                        if item.remote:
     307                                                item.set_image(img)
     308                       
     309                                message=_("The upgrade process has ended")
     310                                self.show_message(message)
    263311                                self.app_indicator.set_status(appindicator.IndicatorStatus.PASSIVE)
    264                                
    265                 return
    266 
    267         #def is_alive   
    268                
    269         def check_status(self):
    270 
    271                 if os.path.exists(TARGET_FILE):
    272                         self.spinner_sync()
    273                         for item in self.menu.get_children():
    274                                 if item.remote:
    275                                 #item=self.menu.get_children()[0]
    276                                         item.set_image(self.sp_img)
    277                                         self.sp_cont=self.sp_cont+1     
    278                         return True
    279                        
    280                 else:
    281                         img=Gtk.Image.new_from_file(SP1)
    282                         for item in self.menu.get_children():
    283                                 if item.remote:
    284                                         item.set_image(img)
    285                        
    286                         message=_("Process has ended")
    287                         self.show_message(message)
    288                         self.app_indicator.set_status(appindicator.IndicatorStatus.PASSIVE)
    289                         time.sleep(2)
     312                                time.sleep(2)
     313
    290314                        self.remoteUpdateInfo=False
    291315                        self.lliurexUp_running=False
    292316                        self.is_working=False
    293317               
    294                 return         
     318                        return False           
    295319
    296320        #def check_status       
Note: See TracChangeset for help on using the changeset viewer.