Ignore:
Timestamp:
Feb 19, 2018, 12:57:24 PM (3 years ago)
Author:
Juanma
Message:

refactorized

File:
1 edited

Legend:

Unmodified
Added
Removed
  • taskscheduler/trunk/fuentes/server-scheduler.install/usr/share/n4d/python-plugins/SchedulerServer.py

    r6844 r6866  
    1111class SchedulerServer():
    1212        def __init__(self):
    13                 self.dbg=1
     13                self.dbg=0
    1414                self.tasks_dir="/etc/scheduler/tasks.d"
    1515                self.schedTasksDir=self.tasks_dir+"/scheduled"
     
    2626        #def _debug
    2727
    28         def get_tasks(self):
     28        def get_tasks(self,*args):
    2929                return(self._read_wrkfiles(self.tasks_dir))
    3030        #def get_tasks
    3131
    32         def get_local_tasks(self):
     32        def get_local_tasks(self,*args):
    3333                local_tasks={}
    3434                tasks_data=self._read_wrkfiles(self.tasks_dir)['data'].copy()
    35 
     35                status=False
    3636                for task_name,serial_data in tasks_data.items():
    3737                        sw_continue=False
     
    4040                                        if data['spread']==False:
    4141                                                if task_name in local_tasks.keys():
    42 #                                                       remote_tasks[task_name].update({'r'+serial:tasks_data[task_name][serial]})
    4342                                                        local_tasks[task_name][serial]=tasks_data[task_name][serial]
     43                                                        status=True
    4444                                                else:
    4545                                                        local_tasks[task_name]={serial:tasks_data[task_name][serial]}
     46                                                        status=True
    4647                                else:
    4748                                        if task_name in local_tasks.keys():
    4849                                                local_tasks[task_name][serial]=tasks_data[task_name][serial]
     50                                                status=True
    4951                                        else:
    5052                                                local_tasks[task_name]={serial:tasks_data[task_name][serial]}
    51                 return local_tasks
    52 
    53         def get_remote_tasks(self):
     53                                                status=True
     54                return ({'status':status,'data':local_tasks})
     55
     56        def get_remote_tasks(self,*args):
    5457                remote_tasks={}
    5558                tasks_data=self._read_wrkfiles(self.tasks_dir)['data'].copy()
     59                status=False
    5660
    5761                for task_name,serial_data in tasks_data.items():
     
    6165                                        if data['spread']==True:
    6266                                                if task_name in remote_tasks.keys():
    63 #                                                       remote_tasks[task_name].update({'r'+serial:tasks_data[task_name][serial]})
    6467                                                        remote_tasks[task_name]['r'+serial]=tasks_data[task_name][serial]
     68                                                        status=True
    6569                                                else:
    6670                                                        remote_tasks[task_name]={'r'+serial:tasks_data[task_name][serial]}
    67                 return remote_tasks
     71                                                        status=True
     72                return ({'status':status,'data':remote_tasks})
    6873
    6974        def get_available_tasks(self):
     
    96101                if os.path.isfile(wrkfile):
    97102                        try:
    98 #                               with open(wrkfile,"rb") as fh:
    99 #                                       tasks=json.load(fh)
    100103                                tasks=json.loads(open(wrkfile,"rb").read())
    101104                        except Exception as e:
     
    106109        #def _read_tasks_file
    107110       
    108         def remove_task(self,task):
     111        def remove_task(self,task,*args):
     112                #Retrocompatibility
     113                if type(task)==type(""):
     114                        task_compat={}
     115                        if task=='remote':
     116                                task_compat['sw_remote']=True
     117                        else:
     118                                task_compat['sw_remote']=False
     119                        if args[0]:
     120                                task_compat['name']=args[0]
     121                        if args[1]:
     122                                task_compat['serial']=args[1]
     123                        if args[2]:
     124                                task_compat['cmd']=args[2]
     125                        task=task_compat
    109126                wrk_dir=self.tasks_dir
    110127                self._debug("Removing task from system")
     
    119136                                self._debug("Task deleted")
    120137                                sw_del=True
     138                        elif task['serial'][0]=='r':
     139                                serial=task['serial'].strip('r')
     140                                if serial in tasks[task['name']].keys():
     141                                        if tasks[task['name']][serial]['spread']:
     142                                                del tasks[task['name']][serial]
     143                                                self._debug("Task deleted")
     144                                                sw_del=True
     145
    121146
    122147                if sw_del:
Note: See TracChangeset for help on using the changeset viewer.