Changeset 6555 for lliurex-gdrive


Ignore:
Timestamp:
Jan 9, 2018, 1:06:08 PM (22 months ago)
Author:
jrpelegrina
Message:

Added function to avoid ghost notifications

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator

    r6499 r6555  
    7474                self.update_files=[]
    7575                self.local_changes={}
     76                self.notifications_list=[]
    7677
    7778                       
     
    408409
    409410                self.folders_info={}
     411                tmp={}
    410412                self.folders_info['profile']=profile
     413                tmp['profile']=profile
     414                tmp['notifications']=[]
     415                self.notifications_list.append(tmp)
    411416                self.files=set()
    412417                self.controlDirectory(mountpoint)
    413418                self.folders_info['files']=self.files
    414419                self.init_files.append(self.folders_info)
    415                        
     420       
    416421        #def init_folders_info                         
    417422
     
    446451                                self.init_files.pop(i)
    447452                        i=i+1   
     453
     454                i=0
     455                for item in self.notifications_list:
     456                        if profile ==item["profile"]:
     457                                self.notifications_list.pop(i)
     458
     459                        i=i+1           
    448460
    449461        #def remove_folder_info         
     
    723735                                        if numFiles_up>0:
    724736                                                message_up=_("-Files updated: ")
     737                                                for i in self.notifications_list:
     738                                                        if i['profile']==p:
     739                                                                for element in item['files_changes']:
     740                                                                        i['notifications'].append(element)
    725741                                                if numFiles_up==1:
    726742                                                        for element in item['files_changes']:
     
    736752                                        if numFiles_add>0:
    737753                                                message_add=_("-Files added: ")
     754                                                for i in self.notifications_list:
     755                                                        if i['profile']==p:
     756                                                                for element in item['files_add']:
     757                                                                        i['notifications'].append(element)
    738758                                                if numFiles_add==1:
    739759                                                        for element in item['files_add']:
     
    782802
    783803                                if 'files_changes' in item:
    784                                         tmp_changes=item['files_changes']
     804                                        #tmp_changes=item['files_changes']
     805                                        tmp_changes=self.detect_previous_notifications(item)
     806                                        toInfo_up=tmp_changes.copy()   
    785807                                        toInfo_up=tmp_changes.copy()
    786808                                if 'files_deletes' in item:
     
    895917       
    896918
     919        def detect_previous_notifications(self,item):
     920
     921                changes=item['files_changes']
     922                toInfo_up=changes.copy()
     923                for element in self.notifications_list:
     924                        if item['profile']==element['profile']:
     925                                for f in changes:
     926                                        file_changed=f.split(":__")[0]
     927                                        data_changed=f.split(":__")[1]
     928                                        data_changed=datetime.datetime.strptime(data_changed,'%Y-%m-%d %H:%M:%S')
     929                                        for j in element['notifications']:
     930                                                file_notified=j.split(":__")[0]
     931                                                data_notified=j.split(":__")[1]
     932                                                data_notified=datetime.datetime.strptime(data_notified,'%Y-%m-%d %H:%M:%S')
     933                                                if file_changed==file_notified:
     934                                                        diff=(data_changed-data_notified).seconds
     935                                                        if int(diff)<6:
     936                                                                toInfo_up.remove(f)
     937
     938
     939                return toInfo_up       
     940
     941        #def detect_previous_notifications                                             
     942
    897943        def show_message(self,message):
    898                 notify2.init("test")
     944                notify2.init("llxgdrive")
    899945                n=notify2.Notification("Lliurex-GDrive",message,"gdrive")
    900946                n.show()
Note: See TracChangeset for help on using the changeset viewer.