Changeset 7932


Ignore:
Timestamp:
Aug 8, 2018, 10:12:28 AM (15 months ago)
Author:
jrpelegrina
Message:

Updated code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • bell-scheduler/trunk/fuentes/bell-scheduler-indicator.install/usr/bin/bell-scheduler-indicator

    r7931 r7932  
    7676
    7777        def worker(self):
    78                 """ Timeout thread """
    7978               
    8079                if not self.is_working:
     
    185184                                self.bell_token=True
    186185                else:
    187                         if self._is_ffplay_live():
     186                        if self.are_bells_live():
    188187                                self.bell_token=True
    189188                        else:   
     
    191190               
    192191                if self.bell_token:
    193                         self.link_bell_ffplay()
     192                        self.link_bell_pid()
    194193                        return True
    195194                       
     
    244243                bellsId=[]
    245244                for item in self.bell_info:
    246                         bellsId.append(item["BellId"])
     245                        bellsId.append(item["bellId"])
    247246
    248247                for i in range(len(tmp)-1,-1,-1):
    249                         if tmp[i]["BellId"] not in bellsId:
     248                        if tmp[i]["bellId"] not in bellsId:
    250249                                self.bell_info.append(tmp[i])
    251250                                self.show_message("start",len(self.bell_info)-1)
     
    286285                                                                duration=str(duration)+""+seconds_label
    287286                                                        info["duration"]=duration
    288                                                         info["ffplayPID"]=""   
    289                                                         info["BellId"]=bellId
     287                                                        info["bellPID"]=""     
     288                                                        info["bellId"]=bellId
    290289                                                        error=False
    291290                                                        tmp.append(info)
     
    298297                        tmp=[]
    299298                        msg_error=_("Error. Not available")
     299                       
    300300                        for line in content:
    301301                                info={}
    302302                                bellId=line.split('\n')[0]
    303                                 info["BellId"]=bellId
    304                                 info["ffplayPID"]=""
     303                                info["bellId"]=bellId
     304                                info["bellPID"]=""
    305305                                info["name"]=msg_error
    306306                                info["hour"]=msg_error
     
    327327        #def _format_hour       
    328328
    329         def _is_ffplay_live(self):
    330 
    331                 is_bell_live=False
    332                 ffplay_pid=[]
    333                 ffplay_pid=self._get_fffplay_pid()[1]
    334        
    335                 if len(ffplay_pid)>0:
     329        def are_bells_live(self):
     330
     331                are_bells_live=False
     332                bells_pid=[]
     333                bells_pid=self._get_bell_pid()[1]
     334       
     335                if len(bells_pid)>0:
    336336                        for i in range(len(self.bell_info)-1,-1,-1):
    337                                 if self.bell_info[i]["ffplayPID"]!="":
    338                                         if not self.bell_info[i]["ffplayPID"] in ffplay_pid:
     337                                if self.bell_info[i]["bellPID"]!="":
     338                                        if not self.bell_info[i]["bellPID"] in bells_pid:
    339339                                                self.show_message("end",i)
    340340                                                self.bell_info.pop(i)
    341                                                 time.sleep(5)
     341                                                time.sleep(3)
    342342                                                try:
    343343                                                        self.notify.close()
    344344                                                except:
    345345                                                        pass           
    346                         is_bell_live=True
    347                
    348                 return is_bell_live                     
    349 
    350         #def _is_ffplay_live
    351 
    352         def link_bell_ffplay(self):
     346                        are_bells_live=True
     347               
     348                return are_bells_live                   
     349
     350        #def are_bells_live
     351
     352        def link_bell_pid(self):
    353353       
    354354                cont=0
    355                 ffplay_info=[]
     355                pid_info=[]
    356356
    357357                for item in self.bell_info:
    358                         if item["ffplayPID"]=="":
     358                        if item["bellPID"]=="":
    359359                                cont+=1
    360360
    361361                if cont>0:
    362                         ffplay_info=self._get_fffplay_pid()[0]
    363                         print(ffplay_info)
    364                         if len(ffplay_info)>0:
    365                                 for i in range(len(ffplay_info)):
     362                        pid_info=self._get_bell_pid()[0]
     363                        if len(pid_info)>0:
     364                                for i in range(len(pid_info)):
    366365                                        try:
    367366                                                for j in range(len(self.bell_info)):
    368                                                         if self.bell_info[j]["ffplayPID"]=="":
    369                                                                 if self.bell_info[j]["BellId"]==ffplay_info[i]["bellId"]:
    370                                                                         self.bell_info[j]["ffplayPID"]=ffplay_info[i]["ffplayId"]
     367                                                        if self.bell_info[j]["bellPID"]=="":
     368                                                                if self.bell_info[j]["bellId"]==pid_info[i]["bellId"]:
     369                                                                        self.bell_info[j]["bellPID"]=pid_info[i]["bellPID"]
    371370                                        except:
    372371                                                pass           
    373372
    374         #def link_bell_ffplay   
    375 
    376         def _get_fffplay_pid(self):
     373        #def link_bell_pid     
     374
     375        def _get_bell_pid(self):
    377376       
    378377               
    379378                info=[]
    380                 ffplay_info=[]
    381                 ffplay_pid=[]
     379                pid_info=[]
     380                bell_pid=[]
    382381
    383382                cmd='ps -ef | grep "ffplay -nodisp -autoexit" | grep -v "grep"'
     
    394393                                processed_line=item.split(" ")
    395394                                tmp_list=[]
    396                                 tmp_ffplay={}
     395                                tmp_pid={}
    397396                                cont=0
    398397                               
     
    404403                                       
    405404                                        if str(processed_line[7])=='/bin/bash':
    406                                                 tmp_ffplay["bellId"]=str(processed_line[14])
    407                                                 tmp_ffplay["ffplayparent"]=processed_line[1]
    408                                                 tmp_ffplay["ffplayId"]=""
    409                                                 for item in ffplay_info:
    410                                                         if item["bellId"]==tmp_ffplay["bellId"]:
     405                                                tmp_pid["bellId"]=str(processed_line[14])
     406                                                tmp_pid["PidParent"]=processed_line[1]
     407                                                tmp_pid["bellPID"]=""
     408                                                for item in pid_info:
     409                                                        if item["bellId"]==tmp_pid["bellId"]:
    411410                                                                cont+=1
    412411                                                if cont==0:             
    413                                                         ffplay_info.append(tmp_ffplay)
     412                                                        pid_info.append(tmp_pid)
    414413                                        else:
    415                                                 for item in ffplay_info:
    416                                                         if item["ffplayparent"]==processed_line[2]:
    417                                                                 item["ffplayId"]=processed_line[1]
    418                                                         ffplay_pid.append(processed_line[1])
    419                
    420                 info.append(ffplay_info)
    421                 info.append(ffplay_pid)
     414                                                for item in pid_info:
     415                                                        if item["PidParent"]==processed_line[2]:
     416                                                                item["bellPID"]=processed_line[1]
     417                                                        bell_pid.append(processed_line[1])
     418               
     419                info.append(pid_info)
     420                info.append(bell_pid)
    422421
    423422                return info
    424423
    425         #def _get_ffplay_pid                                           
     424        #def _get_bell_pid                                             
    426425               
    427426        def quit(self):
Note: See TracChangeset for help on using the changeset viewer.