def handle(self,folder,period, remove_files, archive_mask, *args,**kwargs):
        self.period_sec = period * 24 * 60 * 60
        self.filtered_files = []

        if folder:
            folder = os.path.abspath(folder)
        else:
            assert my_settings.FILE, 'You have to defile folder attr, settings.UCSVLOG_CLEAR_OLD_FOLDER or UCSVLOG_FILE'

            #getting search folder from FILE settings
            abs_folder = os.path.abspath(my_settings.FILE)
            abs_folder_els = []
            for el in abs_folder.split('/')[1:]:
                if  el.find('%') + 1:
                    break
                abs_folder_els.append(el)
            folder = '/' + '/'.join(abs_folder_els)

        self.abs_folder = folder

        os.path.walk(folder,self.walk_directory,None)
        if not self.filtered_files:
            glog.log('nothing to do')
            return

        if remove_files:
            self.remove_filtered_files()
            return

        if archive_mask:
            self.archive_filtered_files(archive_mask)
            self.remove_filtered_files()
            return
 def walk_directory(self,args,dirname,names):
     for filename in names:
         full_name = os.path.join(dirname, filename)
         if not os.path.isfile(full_name):
             continue
         if ( time.time() - os.path.getctime(full_name) ) > self.period_sec:
             glog.log(['walk',full_name,'Y'])
             self.filtered_files.append(full_name)
         else:
             glog.log(['walk',full_name,'N'])
 def remove_filtered_files(self):
     for item in self.filtered_files:
         glog.log(['unlink',item])