Example #1
0
    def execute(self):
        self.command(
            "TaskWikiDone",
            regex="Task \"test task 1\" completed.$",
            lines=1
        )

        # Now also finish the second task
        self.client.type('j')
        self.command(
            "TaskWikiRedo",
            regex="Task \"test task 2\" completed.$",
            lines=1
        )

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "completed"
        assert self.tasks[1]['status'] == "completed"

        assert (now - self.tasks[0]['end']).total_seconds() < 5
        assert (self.tasks[0]['end'] - now).total_seconds() < 5

        assert (now - self.tasks[1]['end']).total_seconds() < 5
        assert (self.tasks[1]['end'] - now).total_seconds() < 5
Example #2
0
def current_month():
    current_month_number = local_zone.localize(datetime.now()).month
    months = ["January", "February", "March", "April",
              "May", "June", "July", "August",
              "September", "October", "November", "December"]

    return months[current_month_number - 1]
Example #3
0
    def execute(self):
        # Start the first task
        self.command(
            "TaskWikiStart",
            regex="Task \"test task 1\" started.$",
            lines=1
        )

        # Now also start the second task
        self.client.type('j')
        self.command(
            "TaskWikiRedo",
            regex="Task \"test task 2\" started.$",
            lines=1
        )

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[0]['start']).total_seconds() < 5
        assert (self.tasks[0]['start'] - now).total_seconds() < 5

        assert (now - self.tasks[1]['start']).total_seconds() < 5
        assert (self.tasks[1]['start'] - now).total_seconds() < 5
Example #4
0
    def execute(self):
        self.command(
            "TaskWikiStop",
            regex="Task \"test task 1\" stopped.$",
            lines=1
        )

        # Now also stop the second task
        self.client.type('j')
        self.command(
            "TaskWikiRedo",
            regex="Task \"test task 2\" stopped.$",
            lines=1
        )

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert self.tasks[0]['start'] == None
        assert self.tasks[1]['start'] == None
Example #5
0
    def test_priority_and_due(self):
        self.mockvim.current.buffer[0] = "* [ ] Due today !!! (2015-08-08)"
        vwtask = self.VimwikiTask.from_line(self.cache, 0)

        assert vwtask['description'] == u"Due today"
        assert vwtask['priority'] == 'H'
        assert vwtask['due'] == local_zone.localize(datetime(2015,8,8))
        assert vwtask['uuid'] == None
Example #6
0
    def test_priority_and_due(self):
        self.cache.buffer[0] = "* [ ] Due today !!! (2015-08-08)"
        vwtask = self.VimwikiTask.from_line(self.cache, 0)

        assert vwtask['description'] == u"Due today"
        assert vwtask['priority'] == 'H'
        assert vwtask['due'] == local_zone.localize(datetime(2015, 8, 8))
        assert vwtask['uuid'] == None
Example #7
0
    def test_due_short(self):
        self.mockvim.current.buffer[0] = "* [ ] Random task (2015-08-08)"
        vwtask = self.VimwikiTask.from_line(self.cache, 0)

        assert vwtask['description'] == u"Random task"
        assert vwtask['due'] == local_zone.localize(datetime(2015,8,8,0,0))
        assert vwtask['uuid'] == None
        assert vwtask['priority'] == None
        assert vwtask['indent'] == ''
Example #8
0
    def test_due_short(self):
        self.cache.buffer[0] = "* [ ] Random task (2015-08-08)"
        vwtask = self.VimwikiTask.from_line(self.cache, 0)

        assert vwtask['description'] == u"Random task"
        assert vwtask['due'] == local_zone.localize(datetime(2015, 8, 8, 0, 0))
        assert vwtask['uuid'] == None
        assert vwtask['priority'] == None
        assert vwtask['indent'] == ''
Example #9
0
    def test_due_full(self):
        self.mockvim.current.buffer[0] = "* [ ] Random task (2015-08-08 15:15)"
        vwtask = self.VimwikiTask.from_line(self.cache, 0)

        assert vwtask['description'] == u"Random task"
        assert vwtask['due'] == local_zone.localize(
            datetime(2015, 8, 8, 15, 15))
        assert vwtask['uuid'] == None
        assert vwtask['priority'] == None
        assert vwtask['indent'] == ''
Example #10
0
    def execute(self):
        self.command("w", regex="written$", lines=1)

        # Check that only one tasks with this description exists
        assert len(self.tw.tasks.pending()) == 1

        due = datetime(2015, 3, 3, 12, 0)

        task = self.tw.tasks.pending()[0]
        assert task["description"] == "This is a test task"
        assert task["status"] == "pending"
        assert task["due"] == local_zone.localize(due)
Example #11
0
    def execute(self):
        self.command("w", regex="written$", lines=1)

        # Check that only one tasks with this description exists
        assert len(self.tw.tasks.pending()) == 1

        due = datetime(2015, 3, 3, 0, 0)

        task = self.tw.tasks.pending()[0]
        assert task['description'] == 'This is a test task'
        assert task['status'] == 'pending'
        assert task['due'] == local_zone.localize(due)
Example #12
0
    def execute(self):
        self.command("w", regex="written$", lines=1)

        # Check that only one tasks with this description exists
        assert len(self.tw.tasks.pending()) == 1

        due = datetime(2015, 3, 3, 0, 0)

        task = self.tw.tasks.pending()[0]
        assert task['description'] == 'This is a test task'
        assert task['status'] == 'pending'
        assert task['due'] == local_zone.localize(due)
Example #13
0
    def format_timer(self, task):
        delta = local_zone.localize(datetime.now()) - task['start']
        hours, mins, seconds = str(delta).split(":", 3)

        total_active_time = re.sub(r'\D+', '', task['totalactivetime'] or '')
        if total_active_time and 'ongoing' not in task['tags']:
            total = timedelta(seconds=int(total_active_time))
            total_hours, total_mins, total_seconds = str(total).split(":", 3)
            return "{hh}:{mm}|{hht}:{hhm}".format(hh=hours,
                                                  mm=mins,
                                                  hht=total_hours,
                                                  hhm=total_mins)

        return "{hh}:{mm}".format(hh=hours, mm=mins)
Example #14
0
    def execute(self):
        self.command("TaskWikiStop",
                     regex="Task \"test task 1\" stopped.$",
                     lines=1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[1]['start']).total_seconds() < 30
        assert (self.tasks[1]['start'] - now).total_seconds() < 30

        assert self.tasks[0]['start'] == None
Example #15
0
    def execute(self):
        today = local_zone.localize(
            datetime.now().replace(hour=0,minute=0,second=0,microsecond=0))

        self.command(
            "TaskWikiMod due:today",
            regex="Modified 1 task.$",
            lines=1)

        for task in self.tasks:
            task.refresh()

        assert self.tasks[0]['due'] == today
        assert self.tasks[1]['due'] == None

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"
Example #16
0
    def execute(self):
        today = local_zone.localize(
            datetime.now().replace(hour=0,minute=0,second=0,microsecond=0))

        self.command(
            "TaskWikiMod due:today",
            regex="Modified 1 task.$",
            lines=1)

        for task in self.tasks:
            task.refresh()

        assert self.tasks[0]['due'] == today
        assert self.tasks[1]['due'] == None

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"
Example #17
0
    def execute(self):
        # Change the current line's due date
        current_data = self.read_buffer()
        current_data[0] = current_data[0].replace("2015-03-03 12:00", "2015-03-04 13:00")
        self.write_buffer(current_data)

        # Save the changes
        self.command("w", regex="written$", lines=1)

        # Check that only one tasks with exists
        assert len(self.tw.tasks.pending()) == 1

        due = datetime(2015, 3, 4, 13, 0)

        task = self.tw.tasks.pending()[0]
        assert task["description"] == "This is a test task"
        assert task["status"] == "pending"
        assert task["due"] == local_zone.localize(due)
Example #18
0
    def execute(self):
        self.command(
            "TaskWikiDone",
            regex="Task \"test task 1\" completed.$",
            lines=1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "completed"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[0]['end']).total_seconds() < 5
        assert (self.tasks[0]['end'] - now).total_seconds() < 5

        assert self.tasks[1]['end'] == None
Example #19
0
    def execute(self):
        # Change the current line's due date
        current_data = self.read_buffer()
        current_data[0] = current_data[0].replace('2015-03-03 12:00',
                                                  '2015-03-04 13:00')
        self.write_buffer(current_data)

        # Save the changes
        self.command("w", regex="written$", lines=1)

        # Check that only one tasks with exists
        assert len(self.tw.tasks.pending()) == 1

        due = datetime(2015, 3, 4, 13, 0)

        task = self.tw.tasks.pending()[0]
        assert task['description'] == 'This is a test task'
        assert task['status'] == 'pending'
        assert task['due'] == local_zone.localize(due)
Example #20
0
    def execute(self):
        self.client.normal('1gg')
        self.client.normal('VG')
        self.client.feedkeys(":TaskWikiStart\\<Enter>")
        self.client.eval('0')  # wait for command completion

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[0]['start']).total_seconds() < 5
        assert (self.tasks[0]['start'] - now).total_seconds() < 5

        assert (now - self.tasks[1]['start']).total_seconds() < 5
        assert (self.tasks[1]['start'] - now).total_seconds() < 5
Example #21
0
    def execute(self):
        self.client.type('2gg')
        self.command("TaskWikiStart",
                     regex="Task \"test task 2\" started.$",
                     lines=1)
        sleep(1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[1]['start']).total_seconds() < 5
        assert (self.tasks[1]['start'] - now).total_seconds() < 5

        assert self.tasks[0]['start'] == None
Example #22
0
    def execute(self):
        self.client.type('2gg')
        self.command(
            "TaskWikiStop",
            regex="Task \"test task 2\" stopped.$",
            lines=1)
        sleep(1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[0]['start']).total_seconds() < 30
        assert (self.tasks[0]['start'] - now).total_seconds() < 30

        assert self.tasks[1]['start'] == None
Example #23
0
    def execute(self):
        self.client.normal('1gg')
        sleep(1)
        self.client.normal('VG')
        sleep(1)
        self.client.feedkeys(":TaskWikiStart")
        self.client.type('<Enter>')
        sleep(1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert (now - self.tasks[0]['start']).total_seconds() < 5
        assert (self.tasks[0]['start'] - now).total_seconds() < 5

        assert (now - self.tasks[1]['start']).total_seconds() < 5
        assert (self.tasks[1]['start'] - now).total_seconds() < 5
Example #24
0
    def execute(self):
        self.client.normal('1gg')
        sleep(1)
        self.client.normal('VG')
        sleep(1)
        self.client.feedkeys(":TaskWikiDone")
        self.client.type('<Enter>')
        sleep(1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "completed"
        assert self.tasks[1]['status'] == "completed"

        assert (now - self.tasks[0]['end']).total_seconds() < 5
        assert (self.tasks[0]['end'] - now).total_seconds() < 5

        assert (now - self.tasks[1]['end']).total_seconds() < 5
        assert (self.tasks[1]['end'] - now).total_seconds() < 5
Example #25
0
    def execute(self):
        self.command(
            "TaskWikiToggle",
            regex="Task \"test task 1\" stopped.$",
            lines=1)

        self.client.type('j')
        self.command(
            "TaskWikiToggle",
            regex="Task \"test task 2\" started.$",
            lines=1)

        for task in self.tasks:
            task.refresh()

        now = local_zone.localize(datetime.now())

        assert self.tasks[0]['status'] == "pending"
        assert self.tasks[1]['status'] == "pending"

        assert self.tasks[0]['start'] == None
        assert self.tasks[1]['start'] != None

        assert abs((now - self.tasks[1]['start']).total_seconds()) < 5
Example #26
0
def current_year():
    return local_zone.localize(datetime.now()).year
Example #27
0
def current_year():
    return local_zone.localize(datetime.now()).year