Example #1
0
    def test_getTaskOccurrenceForDate_recurrent_far(self):
        taskDate = datetime.datetime(2020, 5, 17)
        task = Task()
        task.dueDateTime = taskDate
        task.recurrence = Recurrent()
        task.recurrence.setDaily(1)

        entry = task.getTaskOccurrenceForDate(taskDate.date() +
                                              timedelta(days=3333 * 366))
        self.assertEqual(entry.task, task)
        self.assertEqual(entry.offset, 1219878)
Example #2
0
    def test_getTaskOccurrenceForDate_recurrent_endDate(self):
        taskDate = datetime.datetime(2020, 5, 17)
        task = Task()
        task.dueDateTime = taskDate
        task.recurrence = Recurrent()
        task.recurrence.setDaily(1)
        task.recurrence.endDate = taskDate.date() + timedelta(days=5)

        entry = task.getTaskOccurrenceForDate(taskDate.date() +
                                              timedelta(days=9))
        self.assertEqual(entry, None)
Example #3
0
    def test_setCompleted_recurrent(self):
        taskDate = datetime.date(2020, 5, 17)
        task = Task()
        task.recurrence = Recurrent()
        task.recurrence.setDaily()
        task.setDefaultDate(taskDate)

        task.setCompleted()
        self.assertEqual(task.completed, 0)
        self.assertEqual(task.occurrenceStart.date(),
                         datetime.date(2020, 5, 18))
        self.assertEqual(task.occurrenceDue.date(), datetime.date(2020, 5, 18))
Example #4
0
    def test_getTaskOccurrencesForDate_recurrent_completed(self):
        manager = Manager()
        task = manager.addTask()
        todayDate = datetime.datetime.today()
        dueDate = todayDate.replace(day=1, hour=12)
        task.dueDateTime = dueDate
        task.recurrence = Recurrent()
        task.recurrence.setWeekly()
        task.setCompleted()  ## mark first occurrence completed

        tasksList = manager.getTaskOccurrencesForDate(dueDate.date())
        self.assertEqual(len(tasksList), 1)
Example #5
0
    def test_findRecurrentOffset(self):
        recurrent = Recurrent()
        recurrent.setYearly( 1 )

        refDate    = date( 2020, 5, 2 )
        targetDate = refDate + recurrent.getDateOffset()
        offset = recurrent.findRecurrentOffset(refDate, targetDate)

        self.assertEqual( offset, 1 )
Example #6
0
    def test_getTaskOccurrenceForDate_recurrent_completed(self):
        task = Task()
        todayDate = datetime.datetime.today()
        dueDate = todayDate.replace(day=8, hour=12)
        task.dueDateTime = dueDate
        task.recurrence = Recurrent()
        task.recurrence.setWeekly()
        task.setCompleted()  ## mark first occurrence completed

        occurrence1 = task.getTaskOccurrenceForDate(dueDate.date() -
                                                    timedelta(days=7))
        self.assertEqual(occurrence1, None)

        occurrence2 = task.getTaskOccurrenceForDate(dueDate.date())
        self.assertNotEqual(occurrence2, None)
        self.assertEqual(occurrence2.isCompleted(), True)

        occurrence3 = task.getTaskOccurrenceForDate(dueDate.date() +
                                                    timedelta(days=7))
        self.assertNotEqual(occurrence3, None)
        self.assertEqual(occurrence3.isCompleted(), False)
Example #7
0
task1 = dataObject.addTask()
task1.title = "Expired task 1"
task1.startDateTime = refDate - timedelta( days=2 )
task1.dueDateTime   = task1.startDateTime + timedelta( hours=5 )

task1 = dataObject.addTask()
task1.title = "Completed task 1"
task1.startDateTime = refDate - timedelta( days=2 )
task1.dueDateTime   = task1.startDateTime + timedelta( hours=5 )
task1.setCompleted()

recurrentDate = refDate.replace( day=20 ) + timedelta( hours=2 )
recurrentTask = dataObject.addTask()
recurrentTask.title = "Recurrent task 1"
recurrentTask.dueDateTime = recurrentDate
recurrentTask.recurrence = Recurrent()
recurrentTask.recurrence.setDaily()
recurrentTask.recurrence.endDate = recurrentDate + timedelta( days=3 )

recurrentTask = dataObject.addTask()
recurrentTask.title = "Recurrent task 2"
recurrentTask.dueDateTime = refDate.replace( day=1, hour=22 )
recurrentTask.recurrence = Recurrent()
recurrentTask.recurrence.setWeekly()
recurrentTask.setCompleted()                ## mark first occurrence completed

calendar = MonthCalendar()
calendar.showCompletedTasks()
calendar.connectData( dataObject )
calendar.resize( 1024, 768 )
calendar.show()
def prepare_example_data(dataManager: Manager):
    taskDate = datetime.today() - timedelta(seconds=5)
    task1 = dataManager.addNewTaskDateTime(
        datetime.today() + timedelta(days=1), "task 1")
    task1.completed = 50
    task1.description = (
        "<a href=\"http://www.google.com\">xxx</a> <br> "
        "<a href=\"file:///media/E/bluetooth.txt\">yyy</a> <br> "
        "<a href=\"file:///media/E/Pani1.jpg\">zzz</a>")
    task1.addSubItem(Task("Subtask"))

    completedTask = dataManager.addNewTaskDateTime(
        taskDate + timedelta(days=7), "completed task")
    completedTask.setCompleted()

    ## add far task
    dataManager.addNewTaskDateTime(datetime.today() + timedelta(days=360),
                                   "far task")

    recurrentDate = taskDate.replace(day=20, hour=12)
    recurrentTask = dataManager.addNewTaskDateTime(recurrentDate,
                                                   "recurrent task 1")
    recurrentTask.recurrence = Recurrent()
    recurrentTask.recurrence.setDaily()
    recurrentTask.recurrence.endDate = recurrentDate.date() + timedelta(days=2)
    reminder = recurrentTask.addReminder()
    reminder.setDays(1)

    task2 = dataManager.addNewTaskDateTime(
        recurrentTask.occurrenceStart.replace(hour=11), "task 2")
    task2.dueDateTime = task2.occurrenceDue.replace(hour=20)

    task3 = dataManager.addTask()
    task3.title = "task 3"
    task3.dueDateTime = taskDate.replace(hour=20) + timedelta(days=90)
    task3.startDateTime = task3.dueDateTime - timedelta(days=1)

    subtask1 = task3.addSubTask()
    subtask1.title = "subtask 1"
    subtask1.startDateTime = task3.startDateTime - timedelta(days=50)
    subtask1.dueDateTime = task3.dueDateTime - timedelta(days=40)

    completedTask = dataManager.addNewTaskDateTime(
        task2.occurrenceStart - timedelta(hours=3), "completed task 2")
    completedTask.setCompleted()

    recurrentDate2 = datetime.today().replace(day=15) + timedelta(days=30)
    recurrentTask2 = dataManager.addNewTaskDateTime(recurrentDate2,
                                                    "recurrent task 2")
    recurrentTask2.setDeadline()
    recurrentTask2.recurrence = Recurrent()
    recurrentTask2.recurrence.setMonthly()

    recurrentSub = recurrentTask2.addSubTask()
    recurrentSub.title = "recurrent subtask 1"
    recurrentSub.setDeadline()
    recurrentSub.dueDateTime = recurrentTask2.dueDateTime - timedelta(days=1)
    recurrentSub.recurrence = Recurrent()
    recurrentSub.recurrence.setMonthly()

    deadlineDate = datetime.today() + timedelta(seconds=10)
    deadlineTaks = dataManager.addNewDeadlineDateTime(deadlineDate,
                                                      "expired task 1")
    reminder = deadlineTaks.addReminder()
    reminder.setMillis(5000)

    remindedTask = dataManager.addNewTaskDateTime(
        datetime.today() + timedelta(hours=2), "reminded task 1")
    reminder = remindedTask.addReminder()
    reminder.setDays(30)

    todo1 = dataManager.addNewToDo("ToDo example A")
    todo1.description = "a description"
    todo1.priority = 3
    todo1.completed = 33
    todo1 = dataManager.addNewToDo("ToDo example B")
    todo1.description = "a description"
    todo1.priority = 3
    todo1.completed = 33
    todo1 = dataManager.addNewToDo("ToDo example C")
    todo1.description = "a description"
    todo1.priority = 3
    todo1.completed = 33

    todo2 = dataManager.addNewToDo("ToDo example 2")
    todo2.description = "a description"
    todo2.priority = 5
    todo2.completed = 20

    todo2 = dataManager.addNewToDo("ToDo example 3")
    todo2.description = "a description"
    todo2.priority = 1
    todo2.completed = 0

    todoCompleted = dataManager.addNewToDo("completed ToDo 1")
    todoCompleted.description = "a description"
    todoCompleted.priority = 1
    todoCompleted.completed = 100

    dataManager.addNote("note 2", "note content")