Exemplo n.º 1
0
 def run(self, task):
     self._task = task
     self._label.set_text(task.description)
     task.addListener(self)
     while gtk.events_pending():
         gtk.main_iteration()
     task.start(self)
Exemplo n.º 2
0
    def test_start(self):

        name = "Do the dishes"
        name2 = "Take out the garbage"
        tags = ["chores"]

        tasks = {
            name:
            task.Task(
                name=name,
                due=FIVE_PM,
                estimate=TEN_MINUTES,
                tags=tags,
                spans=[task.Span(start=NOW + ONE_SECOND)],
            ),
            name2:
            task.Task(
                name=name2,
                due=FIVE_PM,
                estimate=TEN_MINUTES,
                tags=tags,
            ),
        }

        active_task = tasks[name]

        with Replace("task.datetime",
                     test_datetime(NOW + ONE_SECOND + ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + ONE_SECOND + ONE_SECOND
            tasks, active_task = task.start(tasks=tasks,
                                            name=name2,
                                            active_task=active_task)

        expected = task.Task(
            name=name,
            due=FIVE_PM,
            estimate=TEN_MINUTES,
            tags=tags,
            spans=[
                task.Span(start=NOW + ONE_SECOND,
                          stop=NOW + ONE_SECOND + ONE_SECOND)
            ],
        )
        expected2 = task.Task(
            name=name2,
            due=FIVE_PM,
            estimate=TEN_MINUTES,
            tags=tags,
            spans=[task.Span(start=NOW + ONE_SECOND + ONE_SECOND)],
        )

        self.assertEqual(len(tasks), 2)

        self.assertEqual(tasks[name], expected)
        self.assertEqual(tasks[name].spans[0].duration(), ONE_SECOND)

        self.assertEqual(active_task, tasks[name2])
        self.assertEqual(active_task, expected2)
Exemplo n.º 3
0
def run():
    #Preparing variables
    db = database.Database()
    while(True):
        task = db.load_next()
        if task:            
            print "Executing %s" % task.command
            try:
                output = task.start()
                print "[%d] Finished %s" % (task.id, task.command)
                print "[%d] Result %s" % (task.id, output)
                db.update_task(task_id=task.id, 
                               executed=True, 
                               correct=True)
            except Exception, why:
                print "Error executing %s" % task.command
                print why
                db.update_task(task_id=task.id, 
                               executed=True, 
                               correct=False)

        else:
            time.sleep(0.5)
Exemplo n.º 4
0
 def add_task(self, task):
     self.__running.append(task)
     task.start()
Exemplo n.º 5
0
    def test_integration(self):
        tasks: task.TaskDict = dict()
        active_task: Optional[task.Task] = None

        tags = ["chores"]
        names = ["Wash dishes", "Take out garbage", "Write task tracker"]

        with Replace("task.datetime", test_datetime(NOW, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW
            tasks = task.add(
                tasks,
                name=names[0],
                due_input="5pm",
                estimate_input="ten minutes",
                tags=tags,
            )

        expected = [
            task.Task(name=names[0],
                      due=FIVE_PM,
                      estimate=TEN_MINUTES,
                      tags=tags)
        ]
        self.assertEqual(list(tasks.values()), expected)

        noon_tomorrow = NOW.replace(hour=12) + datetime.timedelta(days=1)

        with Replace("task.datetime", test_datetime(NOW + ONE_SECOND,
                                                    delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + ONE_SECOND
            tasks = task.add(
                tasks,
                name=names[1],
                due_input="noon tomorrow",
                estimate_input="90 seconds",
                tags=tags,
            )

        expected.append(
            task.Task(name=names[1],
                      due=noon_tomorrow,
                      estimate=90 * ONE_SECOND,
                      tags=tags))
        self.assertEqual(list(tasks.values()), expected)

        with Replace("task.datetime",
                     test_datetime(NOW + 2 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 2 * ONE_SECOND
            tasks, active_task = task.start(
                tasks=tasks,
                active_task=active_task,
                name=names[0],
            )

        expected[0].spans = [task.Span(start=NOW + 2 * ONE_SECOND)]
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, tasks[names[0]])

        with Replace("task.datetime",
                     test_datetime(NOW + 3 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 3 * ONE_SECOND
            tasks, active_task = task.start(
                tasks=tasks,
                active_task=active_task,
                name=names[1],
            )

        expected[0].spans[0].stop = NOW + 3 * ONE_SECOND
        expected[1].spans = [task.Span(start=NOW + 3 * ONE_SECOND)]
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, tasks[names[1]])

        with Replace("task.datetime",
                     test_datetime(NOW + 4 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 4 * ONE_SECOND
            tasks = task.add(
                tasks=tasks,
                name=names[2],
            )

        expected.append(task.Task(name=names[2], tags=list()))
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, tasks[names[1]])

        with Replace("task.datetime",
                     test_datetime(NOW + 5 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 5 * ONE_SECOND
            tasks, active_task = task.close(
                tasks=tasks,
                active_task=active_task,
                name=names[0],
            )

        expected[0].open = False
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, tasks[names[1]])

        with Replace("task.datetime",
                     test_datetime(NOW + 6 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 6 * ONE_SECOND
            tasks, active_task = task.close(
                tasks=tasks,
                active_task=active_task,
                name=names[1],
            )

        expected[1].open = False
        expected[1].spans[0].stop = NOW + 6 * ONE_SECOND
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, None)

        with Replace("task.datetime",
                     test_datetime(NOW + 7 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 7 * ONE_SECOND
            tasks, active_task = task.start(tasks=tasks,
                                            active_task=active_task,
                                            name=names[2])

        expected[2].spans = [task.Span(start=NOW + 7 * ONE_SECOND)]
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, tasks[names[2]])

        with Replace("task.datetime",
                     test_datetime(NOW + 8 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 8 * ONE_SECOND
            active_task = task.stop(active_task=active_task)

        expected[2].spans[0].stop = NOW + 8 * ONE_SECOND
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, None)

        with Replace("task.datetime",
                     test_datetime(NOW + 9 * ONE_SECOND, delta=0)):
            dateparser.conf.settings.RELATIVE_BASE = NOW + 9 * ONE_SECOND
            tasks, active_task = task.start(tasks=tasks,
                                            active_task=active_task,
                                            name=names[2])

        expected[2].spans.append(task.Span(start=NOW + 9 * ONE_SECOND))
        self.assertEqual(list(tasks.values()), expected)
        self.assertEqual(active_task, tasks[names[2]])
Exemplo n.º 6
0
 def test_q_1(self):
     console_test("""17.9""", lambda: start(),
                  lambda out_text: self.assertEqual(out_text, """0.9"""))