Index: pyatcron/src/config.py =================================================================== RCS file: /cvsroot/pyatcron/pyatcron/src/config.py,v retrieving revision 1.1 diff -r1.1 config.py 1,2d0 < #!/usr/bin/python2.2 < Index: pyatcron/src/pyatcron.py =================================================================== RCS file: /cvsroot/pyatcron/pyatcron/src/pyatcron.py,v retrieving revision 1.2 diff -r1.2 pyatcron.py 1c1 < #!/usr/bin/python2.2 --- > #!/usr/bin/python Index: pyatcron/src/lib/mainwin.py =================================================================== RCS file: /cvsroot/pyatcron/pyatcron/src/lib/mainwin.py,v retrieving revision 1.1 diff -r1.1 mainwin.py 3a4,7 > import datetime > import time > > from lib.schedulelist import ScheduleList 18a23,25 > # Get the list of schedulers > self.list = ScheduleList () > 253c260,261 < print "TODO: activate task #" + str (self.taskId) --- > self.list.getSchedulerById (self.taskId).activate () > self.lastPath = None 258c266 < print "TODO: deactivate task #" + str (self.taskId) --- > self.list.getSchedulerById (self.taskId).deactivate () 301,305c309,359 < model.set (model.append (), 0, 2, 1, False, 2, "Save all my HOME folder", 3, "12/01/03 4:00 AM", 4, self.insensitiveColor) < model.set (model.append (), 0, 4, 1, True, 2, "Wake me up on the morning", 3, "Tomorrow 7:00 AM", 4, self.insensitiveColor) < model.set (model.append (), 0, 6, 1, False, 2, "Start downloading CD1", 3, "Today 9:00 PM", 4, self.insensitiveColor) < model.set (model.append (), 0, 8, 1, False, 2, "Start downloading CD2", 3, "Today 11:00 PM", 4, self.insensitiveColor) < model.set (model.append (), 0, 10, 1, False, 2, "Start downloading CD3", 3, "Tomorrow 2:00 AM", 4, self.insensitiveColor) --- > for entry in self.list: > > # Determine when the task will occur next > entryAttr = entry.getAttributes (); > > baseTimeStamp = time.time () > baseTime = datetime.datetime.fromtimestamp (baseTimeStamp) > nextTimeStamp = -1 > > for year in [baseTime.year, baseTime.year + 1]: > for month in entryAttr [3]: > for day in entryAttr [2]: > for weekday in entryAttr [4]: > weekday = weekday - 1 > > testTimeStamp = time.mktime ([year, month, day, baseTime.hour, baseTime.minute, baseTime.second, weekday, -1, -1]) > testTimeStamp = testTimeStamp + 1 > test = datetime.datetime.fromtimestamp (testTimeStamp) > if (test.day != day or test.weekday () != weekday): > testTimeStamp = -1 > > if (testTimeStamp > 0): > if (testTimeStamp > baseTimeStamp and (testTimeStamp < nextTimeStamp or nextTimeStamp < 0)): > nextTimeStamp = testTimeStamp > > if (nextTimeStamp > 0): > nextTime = datetime.datetime.fromtimestamp (nextTimeStamp) > if (nextTime.day == baseTime.day and nextTime.month == baseTime.month and nextTime.year == baseTime.year): > minMinute = baseTime.minute > minHour = baseTime.hour > else: > minMinute = 0 > minHour = 0 > > hour = -1 > for val in entryAttr [1]: > if (val >= minHour and (val < hour or hour < 0)): > hour = val > > minute = -1 > for val in entryAttr [0]: > if (val > minMinute and (val < minute or minute < 0)): > minute = val > > nextTimeStamp = time.mktime ([nextTime.year, nextTime.month, nextTime.day, hour, minute, 0, nextTime.weekday (), -1, -1]) > > entryNextTime = time.strftime ("%x %X", time.localtime (nextTimeStamp)) > else: > entryNextTime = "Never" > > model.set (model.append (), 0, entry.getId (), 1, entry.isActive () == False, 2, entry.getDescription (), 3, entryNextTime, 4, self.insensitiveColor) 312c366 < textColumn = gtk.TreeViewColumn ("Name", textRenderer, text=2, foreground_set=1, foreground=4) --- > textColumn = gtk.TreeViewColumn ("Description", textRenderer, text=2, foreground_set=1, foreground=4) Index: pyatcron/src/lib/parser.py =================================================================== RCS file: /cvsroot/pyatcron/pyatcron/src/lib/parser.py,v retrieving revision 1.3 diff -r1.3 parser.py 53,54c53,54 < fields = string.split(line,' ',6); < if (len(fields) != 6): --- > tmpfields = string.split(line,' ',6); > if (len(tmpfields) != 6): 57,61c57,74 < fields[0] = self.__convertFieldToArray(fields[0],0,59) < fields[1] = self.__convertFieldToArray(fields[1],0,23) < fields[2] = self.__convertFieldToArray(fields[2],1,31) < fields[3] = self.__convertFieldToArray(fields[3],1,12) < fields[4] = self.__convertFieldToArray(fields[4],0,7) --- > tmpfields[0] = self.__convertFieldToArray(tmpfields[0],0,59) > tmpfields[1] = self.__convertFieldToArray(tmpfields[1],0,23) > tmpfields[2] = self.__convertFieldToArray(tmpfields[2],1,31) > tmpfields[3] = self.__convertFieldToArray(tmpfields[3],1,12) > tmpfields[4] = self.__convertFieldToArray(tmpfields[4],0,7) > for i in range(len(tmpfields[4])): > if (tmpfields[4][i] == 7): > tmpfields[4][i] = 0 > > fields=[[],[],[],[],[]] > for i in range(5): > tmpfields[i].sort() > last=-1 > for j in range(len(tmpfields[i])): > if((tmpfields[i][j]!=last) or j==0): > fields[i].append(tmpfields[i][j]) > last=tmpfields[i][j] > Index: pyatcron/src/lib/schedulelist.py =================================================================== RCS file: /cvsroot/pyatcron/pyatcron/src/lib/schedulelist.py,v retrieving revision 1.1 diff -r1.1 schedulelist.py 10a11 > nextId = 1 14c15 < self.entries.append(entry) --- > self.addSchedule(entry) 16c17 < self.entries.append(entry) --- > self.addSchedule(entry) 18c19 < self.entries.append(entry) --- > self.addSchedule(entry) 33a35,36 > schedule.id=self.nextId > self.nextId=self.nextId+1 44a48,52 > def getSchedulerById(self, id): > for entry in self.entries: > if entry.id == id: > return entry > return None Index: pyatcron/src/lib/scheduler.py =================================================================== RCS file: /cvsroot/pyatcron/pyatcron/src/lib/scheduler.py,v retrieving revision 1.3 diff -r1.3 scheduler.py 9a10 > self.description = "" 31a33,40 > def getId(self): > return(self.id) > > def getDescription(self): > tmpDescription = self.description > if (len (tmpDescription) == 0): > tmpDescription = self.task.command > return(tmpDescription) 35a45,52 > def activate(self): > self.active=1 > return > > def deactivate(self): > self.active=0 > return > 42a60 > print "Comment : ",self.comment