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
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]
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
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
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
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
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'] == ''
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'] == ''
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'] == ''
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)
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)
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)
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
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"
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)
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
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)
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
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
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
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
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
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
def current_year(): return local_zone.localize(datetime.now()).year