Changeset 6755 for taskscheduler/trunk/fuentes/scheduler-gui.install/usr/share/taskscheduler/bin/taskScheduler.py
- Timestamp:
- Feb 2, 2018, 1:23:44 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
taskscheduler/trunk/fuentes/scheduler-gui.install/usr/share/taskscheduler/bin/taskScheduler.py
r6742 r6755 45 45 self.last_task_type='remote' 46 46 self.ldm_helper='/usr/sbin/sched-ldm.sh' 47 self. orig_tasks={}48 self. orig_cmd={}47 self.i18n={} 48 self.types={'fix':TaskDetails,'repeat':'TaskRepeat','days':TaskDetails} 49 49 50 50 #def __init__ … … 119 119 self.btn_remote_tasks=builder.get_object("btn_remote_tasks") 120 120 self.btn_local_tasks=builder.get_object("btn_local_tasks") 121 self.handler_remote=self.btn_remote_tasks.connect("clicked",self.view_tasks_clicked, 'remote')122 self.handler_local=self.btn_local_tasks.connect("clicked",self.view_tasks_clicked, 'local')121 self.handler_remote=self.btn_remote_tasks.connect("clicked",self.view_tasks_clicked,True) 122 self.handler_local=self.btn_local_tasks.connect("clicked",self.view_tasks_clicked,False) 123 123 self.txt_search=builder.get_object("txt_search") 124 124 self.txt_search.connect('changed',self.match_tasks) … … 165 165 self.task_details_grid.btn_apply.connect("clicked",self.update_task) 166 166 self.task_details_grid.chk_node.connect("toggled",self._reload_grid) 167 self.tasks_store=Gtk.ListStore(str,str,str,GdkPixbuf.Pixbuf,str )167 self.tasks_store=Gtk.ListStore(str,str,str,GdkPixbuf.Pixbuf,str,str) 168 168 self.tasks_store_filter=self.tasks_store.filter_new() 169 169 self.tasks_store_filter.set_visible_func(self.filter_tasklist) … … 207 207 column.pack_start(cell,True) 208 208 column.add_attribute(cell,"markup",4) 209 column.set_expand(True) 210 column.set_visible(False) 211 self.tasks_tv.append_column(column) 212 213 column=Gtk.TreeViewColumn(_("Type")) 214 cell=Gtk.CellRendererText() 215 column.pack_start(cell,True) 216 column.add_attribute(cell,"markup",5) 209 217 column.set_expand(True) 210 218 column.set_visible(False) … … 242 250 cmb_cmds=Gtk.ComboBoxText() 243 251 cmds=self.scheduler_client.get_commands() 244 orig_cmd={}252 i18n_cmd={} 245 253 for cmd in cmds.keys(): 246 orig_cmd[_(cmd)]=cmd254 i18n_cmd[_(cmd)]=cmd 247 255 cmb_cmds.append_text(_(cmd)) 248 256 … … 267 275 btn_file.set_sensitive(False) 268 276 self.btn_apply_manage=builder.get_object("btn_apply_manage") 269 self.btn_apply_manage.connect("clicked",self._add_custom_task,txt_taskname,cmb_cmds,txt_params,chk_parm_is_file,btn_file, orig_cmd)277 self.btn_apply_manage.connect("clicked",self._add_custom_task,txt_taskname,cmb_cmds,txt_params,chk_parm_is_file,btn_file,i18n_cmd) 270 278 self.btn_back_manage=builder.get_object("btn_back_manage") 271 279 self.btn_back_manage.connect("clicked",self._cancel_manage_clicked) … … 281 289 #def _enable_filechooser 282 290 283 def _add_custom_task(self,widget,w_name,w_cmd,w_parms,w_chk,w_file, orig_cmd):291 def _add_custom_task(self,widget,w_name,w_cmd,w_parms,w_chk,w_file,i18n_cmd): 284 292 name=w_name.get_text() 285 293 cmd=w_cmd.get_active_text() 286 cmd_desc= orig_cmd[cmd]294 cmd_desc=i18n_cmd[cmd] 287 295 parms=w_parms.get_text() 288 296 cmd=self.scheduler_client.get_command_cmd(cmd_desc) … … 306 314 #def _signin 307 315 308 def populate_tasks_tv(self, task_type):316 def populate_tasks_tv(self,sw_remote=False): 309 317 self._debug("Populating task list") 310 318 self.task_details_grid.btn_apply.set_sensitive(False) … … 312 320 tasks=[] 313 321 sw_tasks=False 314 tasks=self.scheduler_client.get_scheduled_tasks( task_type)322 tasks=self.scheduler_client.get_scheduled_tasks(sw_remote) 315 323 self.tasks_store.clear() 316 324 if type(tasks)==type([]): … … 325 333 task['cmd']=task['cmd'].replace(self.ldm_helper+' ','') 326 334 task['action']=self.scheduler_client.get_task_description(task['cmd']) 327 self.orig_cmd[_(task['action'])]=task['action'] 328 self.orig_tasks[_(task_name)]=task_name 335 task['type']=task['type'] 336 self.i18n['cmd']={_(task['action']):task['action']} 337 self.i18n['name']={_(task_name):task_name} 329 338 self.tasks_store.append(("<span font='Roboto'><b>"+_(task['action'])+"</b></span>\n"+\ 330 339 "<span font='Roboto' size='small'><i>"+\ 331 340 _(task_name)+"</i></span>",serial,"<span font='Roboto' size='small'>"+\ 332 parsed_calendar+"</span>",self.remove_icon,' oooo'))341 parsed_calendar+"</span>",self.remove_icon,'',task['type'])) 333 342 if sw_tasks: 334 343 self.task_details_grid.btn_apply.set_sensitive(True) … … 358 367 self._debug("task clicked %s"%event) 359 368 self.task_details_grid.clear_screen() 369 task={} 360 370 sw_show=True 361 371 if event!=None: … … 374 384 if not data: 375 385 return 376 task_data=model[data][0].split('\n') 377 task_serial=model[data][1].split('\n')[0] 378 cmd=task_data[0][task_data[0].find("<b>")+3:task_data[0].find("</b>")] 379 if cmd in self.orig_cmd.keys(): 380 task_cmd=self.orig_cmd[cmd] 381 382 name=task_data[1][task_data[1].find("<i>")+3:task_data[1].find("</i>")] 383 if name in self.orig_tasks.keys(): 384 task_name=self.orig_tasks[name] 385 386 task_serial=model[data][1] 386 task['data']=model[data][0].split('\n') 387 task['serial']=model[data][1].split('\n')[0] 388 cmd=task['data'][0][task['data'][0].find("<b>")+3:task['data'][0].find("</b>")] 389 if cmd in self.i18n['cmd'].keys(): 390 task['cmd']=self.i18n['cmd'][cmd] 391 else: 392 task['cmd']=cmd 393 394 name=task['data'][1][task['data'][1].find("<i>")+3:task['data'][1].find("</i>")] 395 if name in self.i18n['name'].keys(): 396 task['name']=self.i18n['name'][name] 397 else: 398 task['name']=name 399 400 task['serial']=model[data][1] 387 401 if self.btn_remote_tasks.get_active(): 388 402 task_type='remote' 403 task['sw_remote']=True 389 404 else: 390 405 task_type='local' 406 task['sw_remote']=False 391 407 if sw_show: 392 if task_name in self.scheduled_tasks.keys(): 393 if task_serial in self.scheduled_tasks[task_name].keys(): 394 task_data=self.scheduled_tasks[task_name][task_serial] 395 self._debug("Loading details of %s task %s of group %s"% (task_type,task_serial,task_name)) 396 self.task_details_grid.load_task_details(task_name,task_serial,task_data,task_type) 408 if task['name'] in self.scheduled_tasks.keys(): 409 if task['serial'] in self.scheduled_tasks[task['name']].keys(): 410 task['data']=self.scheduled_tasks[task['name']][task['serial']] 411 self._debug("Loading details of task %s of group %s remote %s"% (task['serial'],task['name'],task['sw_remote'])) 412 self.task_details_grid.set_task_data(task) 413 self.task_details_grid.load_task_details() 397 414 else: 398 415 self.lbl_question.set_text(_("Are you sure to delete this task?")) … … 409 426 410 427 def save_task_details(self,widget): 428 task={} 411 429 name=self.cmb_task_names.get_active_text() 412 task_name=self.orig_tasks[name] 430 # task_name=self.orig_tasks[name] 431 task['name']=self.i18n['name'][name] 413 432 action=self.cmb_task_cmds.get_active_text() 414 task_action=self.orig_cmd[action]433 i18n_action=self.i18n['cmd'][action] 415 434 tasks=self.scheduler_client.get_available_tasks() 416 task_cmd=tasks[task_name][task_action] 417 task_type='local' 435 task['cmd']=tasks[task_name][i18n_action] 436 task['sw_remote']=False 437 # task_type='local' 418 438 if self.btn_remote_tasks.get_active(): 419 task_type='remote' 420 task=self.add_task_grid.get_task_details(self.inf_message,task_name,None,task_cmd,task_type) 421 422 taskFilter='local' 439 task['sw_remote']=True 440 # task_type='remote' 441 self.add_task_grid.set_task_data(task) 442 task=self.add_task_grid.get_task_details() 443 423 444 self._debug("Writing task info...") 424 445 if self.chk_remote.get_active(): … … 433 454 #def save_task_details 434 455 435 def view_tasks_clicked(self,widget, task_type):456 def view_tasks_clicked(self,widget,sw_remote): 436 457 if widget: 437 458 if not widget.get_active(): 438 if task_type=='remote':459 if sw_remote: 439 460 self._block_widget_state(True,widget,self.handler_remote) 440 461 else: 441 462 self._block_widget_state(True,widget,self.handler_local) 442 463 return True 443 self._debug("loading %s tasks" % task_type)444 if task_type=='remote':464 self._debug("loading tasks (remote: %s)" % sw_remote) 465 if sw_remote: 445 466 self.btn_local_tasks.set_active(False) 446 467 self.btn_local_tasks.props.active=False … … 451 472 self.last_task_type='local' 452 473 self._debug("Task clicked") 453 self.populate_tasks_tv( task_type)474 self.populate_tasks_tv(sw_remote) 454 475 self.tasks_tv.set_model(self.tasks_store_filter) 455 476 self.tasks_tv.set_cursor(0) … … 476 497 tasks=[] 477 498 names=[] 478 self.orig_tasks={}499 # self.orig_tasks={} 479 500 self.cmb_task_names.remove_all() 480 501 tasks=self.scheduler_client.get_available_tasks() … … 482 503 if name not in names: 483 504 names.append(name) 484 self.orig_tasks[_(name)]=name 505 self.i18n['name']={_(name):name} 506 # self.orig_tasks[_(name)]=name 485 507 print("PROCESS %s"%name) 486 508 self.cmb_task_names.append_text(_(name)) … … 492 514 def load_add_task_details_cmds(self,widget,tasks): 493 515 actions=[] 494 self. orig_cmd={}516 self.i18n['cmd']={} 495 517 self.cmb_task_cmds.remove_all() 496 518 task_name=self.cmb_task_names.get_active_text() 497 519 if task_name: 498 orig_name=self.orig_tasks[task_name] 520 # orig_name=self.orig_tasks[task_name] 521 orig_name=self.i18n['name'][task_name] 499 522 print(tasks) 500 523 for action in tasks[orig_name].keys(): 501 524 if action not in actions: 502 self. orig_cmd[_(action)]=action525 self.i18n['cmd'][_(action)]=action 503 526 actions.append(action) 504 527 self.cmb_task_cmds.append_text(_(action)) … … 560 583 if response==Gtk.ResponseType.OK: 561 584 self.inf_question.hide() 562 if task_name in self. orig_tasks.keys():563 name=self. orig_tasks[task_name]585 if task_name in self.i18n['name'].keys(): 586 name=self.i18n['name'][task_name] 564 587 else: 565 588 name=task_name 566 if task_cmd in self. orig_cmd.keys():567 cmd=self. orig_cmd[task_cmd]589 if task_cmd in self.i18n['cmd'].keys(): 590 cmd=self.i18n['cmd'][task_cmd] 568 591 else: 569 592 cmd=task_cmd
Note: See TracChangeset
for help on using the changeset viewer.