Changeset 6822


Ignore:
Timestamp:
Feb 15, 2018, 12:49:06 PM (19 months ago)
Author:
Juanma
Message:

refactorized

Location:
taskscheduler/trunk/fuentes
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • taskscheduler/trunk/fuentes/python3-taskscheduler.install/usr/share/taskscheduler/cronParser.py

    r6742 r6822  
    8282                                time_expr="%s %s" % (hour,minute)
    8383                        else:
    84                                 hour="%s"%(self.expr['evhour'])
    85                                 time_expr="%s %s %s %s" % (hour,self.expr['on'],self.expr['tmin'],minute)
     84                                if minute.startswith(_('each')):
     85                                        time_expr="%s %s" %(minute,self.expr['min'])
     86                                else:
     87                                        hour="%s"%(self.expr['evhour'])
     88                                        time_expr="%s %s %s %s" % (hour,self.expr['on'],self.expr['tmin'],minute)
    8689                return time_expr
    8790        #def parse_time_expr
  • taskscheduler/trunk/fuentes/python3-taskscheduler.install/usr/share/taskscheduler/taskscheduler.py

    r6818 r6822  
    5656                        if type(result)==type({}):
    5757                                tasks=result.copy()
    58                 result=self.n4dclient.get_tasks("","SchedulerServer")
     58                result=self.n4dclient.get_tasks("","SchedulerServer")['data']
    5959                if type(result)==type({}):
    60                         tasks.update(result['data'].copy())
     60                        if tasks:
     61                                #Merge values
     62                                for key,data in result.items():
     63                                        if key in tasks.keys():
     64                                                tasks[key].update(data)
     65                                        else:
     66                                                tasks[key]=data
     67
     68                        else:
     69                                tasks.update(result.copy())
     70                print(tasks)
    6171                return tasks
    6272        #def get_scheduled_tasks
  • taskscheduler/trunk/fuentes/scheduler-gui.install/usr/share/taskscheduler/bin/detailDateBox.py

    r6813 r6822  
    1818from gi.repository import Gtk, Gdk, GdkPixbuf, GObject, GLib, PangoCairo, Pango
    1919import time
     20from datetime import date
    2021from taskscheduler.cronParser import cronParser
    2122
     
    8687
    8788        def _load_interval_data(self,widget=None,handler=None):
    88                 if handler:
    89                         self.cmb_interval.handler_block(handler)
    90                 position=self.cmb_interval.get_active()
    91                 self.cmb_interval.remove_all()
    92                 date=self.cmb_dates.get_active_text()
    93                 total=24
    94                 if date==_("day(s)"):
    95                         total=7
    96                 elif date==_("hour(s)"):
    97                         total=24
    98                 elif date==_("week(s)"):
    99                         total=4
    100                 elif date==_("month(s)"):
    101                         total=12
     89#               if handler:
     90#                       self.cmb_interval.handler_block(handler)
     91                total=999
     92#               position=self.cmb_interval.get_active()
     93#               self.cmb_interval.remove_all()
     94#               date=self.cmb_dates.get_active_text()
     95#               total=24
     96#               if date==_("minute(s)"):
     97#                       total=120
     98#               elif date==_("day(s)"):
     99#                       total=7
     100#               elif date==_("hour(s)"):
     101#                       total=24
     102#               elif date==_("week(s)"):
     103#                       total=4
     104#               elif date==_("month(s)"):
     105#                       total=12
    102106                self.spin_interval.set_range(1,total)
    103107
     
    105109                self._changed_interval()
    106110                #If user changes selection try to activate same value on new interval data or max
    107                 if position>=total:
    108                         position=total-1
    109                 elif position<0:
    110                         position=0
    111                 self.cmb_interval.set_active(position)
     111#               if position>=total:
     112#                       position=total-1
     113#               elif position<0:
     114#                       position=0
     115#               self.cmb_interval.set_active(position)
    112116                if handler:
    113                         self.cmb_interval.handler_unblock(handler)
     117#                       self.cmb_interval.handler_unblock(handler)
    114118                        self._parse_scheduled(True)
    115119        #def _load_interval_data
    116120       
    117121        def _load_date_data(self):
    118                 date=[_("hour(s)"),_("day(s)"),_("week(s)"),_("month(s)")]
     122                date=[_("minute(s)"),_("hour(s)"),_("day(s)"),_("week(s)"),_("month(s)")]
    119123                for i in date:
    120124                        self.cmb_dates.append_text(i)
     
    271275#REM NOTEBOOK
    272276                self.notebook_sw=Gtk.StackSwitcher()
    273                 self.notebook.add_titled(dow_box,_("Daily"),_("Daily"))
    274                 self.notebook.add_titled(self.day_box,_("Date"),_("Date"))
     277                self.notebook.add_titled(dow_box,_("By day"),_("By day"))
     278                self.notebook.add_titled(self.day_box,_("By date"),_("By date"))
    275279                self.notebook_sw.set_stack(self.notebook)
    276280                self.notebook_sw.set_margin_bottom(6)
     
    284288                self.time_box.set_halign(Gtk.Align.CENTER)
    285289                self.time_box.set_margin_bottom(WIDGET_MARGIN)
    286                 label=Gtk.Label(_(" "))
    287                 label.set_margin_bottom(WIDGET_MARGIN)
    288                 self.interval_box.add(Gtk.Label(_("Each")))
     290                label=Gtk.Label(_("Each"))
     291                label.set_margin_right(WIDGET_MARGIN)
     292                #               self.interval_box.add(Gtk.Label(_("Each")))
     293                self.interval_box.add(label)
    289294                self.spin_interval=Gtk.SpinButton()
    290                 self.spin_interval.set_range(0,23)
     295                self.spin_interval.set_range(0,999)
    291296                self.spin_interval.set_increments(1,1)
    292297                self.spin_interval.set_wrap(True)
     
    319324                if 'daily' in task_kind or expert:
    320325                        self.chk_daily.set_active(True)
    321                         dow_frame.set_no_show_all(False)
    322326
    323327                gtkGrid.attach(lbl_hour,0,1,1,1)
     
    325329                gtkGrid.attach(self.chk_interval,4,1,2,1)
    326330                gtkGrid.attach_next_to(self.interval_box,self.chk_interval,Gtk.PositionType.BOTTOM,1,1)
     331                self.lbl_disclaim=Gtk.Label("")
     332                self.lbl_disclaim.set_line_wrap(True)
     333                self.lbl_disclaim.set_max_width_chars(25)
     334                self.lbl_disclaim.set_width_chars(25)
     335                self.lbl_disclaim.set_lines(-1)
     336                self.lbl_disclaim.set_opacity(0.6)
     337                gtkGrid.attach_next_to(self.lbl_disclaim,self.interval_box,Gtk.PositionType.BOTTOM,1,3)
    327338                self.interval_box.set_sensitive(False)
    328339                if 'repeat' in task_kind or expert:
    329                         self.interval_box.set_no_show_all(False)
     340                        self.interval_box.set_sensitive(True)
     341                        self.lbl_disclaim.set_text("Tasks will take day 1 of month 1 at 00:00 as reference date/time")
    330342
    331343                #Tab order chain
     
    423435                else:
    424436                        self.spin_min.set_value(0)
     437                        self._parse_date_details(self.task['m'],None,'min')
    425438
    426439                if self.task['h'].isdigit():
    427440                        self.spin_hour.set_value(int(self.task['h']))
    428441                else:
     442                        self.spin_hour.set_value(0)
    429443                        self._parse_date_details(self.task['h'],None,'hour')
    430444
    431445                self._parse_date_details(self.task['dom'],self.cmb_days,'dom')
    432446                self._parse_date_details(self.task['mon'],self.cmb_months,'mon')
     447                #Load calendar
     448                if self.task['dom'].isdigit() and self.task['mon'].isdigit():
     449                                self.notebook.set_visible_child_name(_("By date"))
     450                                self.calendar.select_month(int(self.task['mon']),date.today().year)
     451                                self.calendar.select_day(int(self.task['dom']))
    433452                widget_dict={'0':self.chk_sunday,'1':self.chk_monday,'2':self.chk_tuesday,\
    434453                                        '3':self.chk_wednesday,'4':self.chk_thursday,'5':self.chk_friday,\
    435454                                        '6':self.chk_saturday,'7':self.chk_sunday}
     455                if self.task['dow']=='*' and self.task['dom']=='*':
     456                        self.task['dow']="1,2,3,4,5,6,7"
    436457                self._parse_date_details(self.task['dow'],None,'dow',widget_dict)
    437458                if 'spread' in self.task.keys():
     
    451472                        self.chk_interval.set_active(True)
    452473                        self.cmb_interval.set_active(int(pos[1])-1)
    453                         if date_type=='hour':
     474                        self.spin_interval.set_value(int(pos[1]))
     475                        if date_type=='hour' or date_type=='min':
    454476                                self.spin_hour.set_value(0)
    455477                                self.hour_box.set_sensitive(False)
     
    500522                if self.chk_interval.get_active():
    501523                        interval=self.cmb_dates.get_active_text()
    502                         if interval==_('hour(s)'):
     524                        if interval==_('hour(s)') or interval==_('minute(s)'):
    503525                                self._set_sensitive_widget({self.hour_box:False,self.minute_box:False})
    504526                                self._set_days_sensitive(True)
     
    518540                                self.hour_box:False,self.minute_box:False,self.month_box:True})
    519541                        self._changed_interval()
     542                        if not self.spin_interval.get_value_as_int():
     543                                self.spin_interval.set_value(1)
     544                        self.lbl_disclaim.set_text("Tasks will take day 1 of month 1 at 00:00 as reference date/time")
     545
    520546                else:
    521547                        self._set_sensitive_widget({self.interval_box:False,\
    522548                                self.hour_box:True,self.minute_box:True,self.month_box:True})
     549                        self.lbl_disclaim.set_text("")
    523550                self._chk_special_dates_status()
    524551        #def _chk_interval_status
     
    590617                if self.spin_min.is_sensitive():
    591618                        details["m"]=str(self.spin_min.get_value_as_int())
    592                 if self.notebook.get_visible_child_name()==_("Date"):
     619                else:
     620                        details['m']="0"
     621                if self.notebook.get_visible_child_name()==_("By date"):
    593622                        details['dow']='*'
    594623                        date=self.calendar.get_date()
     
    610639
    611640                if self.cmb_dates.is_sensitive():
     641                        if self.cmb_dates.get_active_text()==_('minute(s)'):
     642                                details['m']="0/"+str(self.spin_interval.get_value_as_int())
    612643                        if self.cmb_dates.get_active_text()==_('hour(s)'):
    613644                                details['h']="0/"+str(self.spin_interval.get_value_as_int())
  • taskscheduler/trunk/fuentes/scheduler-gui.install/usr/share/taskscheduler/bin/taskScheduler.py

    r6814 r6822  
    465465                                        self.add_task_grid.set_task_data(task)
    466466                                        self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT)
     467                                        self.cmb_task_names.remove_all()
     468                                        self.cmb_task_cmds.remove_all()
    467469                                        self.cmb_task_names.append_text(_(task['name']))
    468470                                        self.cmb_task_cmds.append_text(_(task['cmd']))
  • taskscheduler/trunk/fuentes/scheduler-gui.install/usr/share/taskscheduler/rsrc/taskScheduler.ui

    r6818 r6822  
    9292        </child>
    9393        <child>
    94           <object class="GtkBox" id="box1">
     94          <placeholder/>
     95        </child>
     96        <child>
     97          <object class="GtkGrid" id="add_task_grid">
    9598            <property name="visible">True</property>
    9699            <property name="can_focus">False</property>
    97             <property name="halign">start</property>
    98             <property name="hexpand">True</property>
    99             <property name="spacing">5</property>
    100             <property name="homogeneous">True</property>
    101             <child>
    102               <placeholder/>
    103             </child>
    104             <child>
    105               <placeholder/>
    106             </child>
    107           </object>
    108           <packing>
    109             <property name="expand">False</property>
    110             <property name="fill">True</property>
    111             <property name="padding">5</property>
    112             <property name="position">1</property>
    113           </packing>
    114         </child>
    115         <child>
    116           <placeholder/>
    117         </child>
    118         <child>
    119           <placeholder/>
    120         </child>
    121         <child>
    122           <placeholder/>
    123         </child>
    124         <child>
    125           <object class="GtkGrid" id="add_task_grid">
    126             <property name="visible">True</property>
    127             <property name="can_focus">False</property>
    128             <property name="halign">start</property>
    129100            <property name="valign">start</property>
    130101            <property name="hexpand">False</property>
     
    655626      </packing>
    656627    </child>
     628    <child>
     629      <object class="GtkButton" id="button1">
     630        <property name="label">gtk-close</property>
     631        <property name="visible">True</property>
     632        <property name="can_focus">True</property>
     633        <property name="receives_default">True</property>
     634        <property name="halign">end</property>
     635        <property name="margin_right">6</property>
     636        <property name="margin_top">6</property>
     637        <property name="margin_bottom">6</property>
     638        <property name="hexpand">False</property>
     639        <property name="use_stock">True</property>
     640      </object>
     641      <packing>
     642        <property name="expand">False</property>
     643        <property name="fill">True</property>
     644        <property name="position">1</property>
     645      </packing>
     646    </child>
    657647  </object>
    658648</interface>
Note: See TracChangeset for help on using the changeset viewer.