Exemple #1
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)
Exemple #2
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)
Exemple #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))
Exemple #4
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)
Exemple #5
0
from hanlendar.domainmodel.task import Task
from hanlendar.domainmodel.recurrent import Recurrent

## ============================= main section ===================================

if __name__ != '__main__':
    sys.exit(0)

app = QApplication(sys.argv)
app.setApplicationName("Hanlendar")
app.setOrganizationName("arnet")
### app.setOrganizationDomain("www.my-org.com")

parentTask = Task()
parentTask.recurrence = Recurrent()
parentTask.recurrence.setWeekly(1)

task = Task()
task.setParent(parentTask)
task.title = "Task 1"
# pylint: disable=C0301
task.description = (
    '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">'
    '<html><head><meta name="qrichtext" content="1" /><style type="text/css">'
    'p, li { white-space: pre-wrap; }'
    '</style></head><body style=" font-family:\'Noto Sans\'; font-size:9pt; font-weight:400; font-style:normal;">'
    '<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A description</p>'
    '<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>'
    '<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="www.google.pl"><span style=" text-decoration: underline; color:#0000ff;">www.google.pl</span></a> </p>'
    '<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>'