def modify(sefl, text): """ toggles between tags no_tag -> @next -> @working -> @done(date) -> no_tag """ tags_to_toggle = ['next', 'working', 'done'] tagged_already = False if u.has_tag(text, tags_to_toggle[-1]): text = u.remove_tag(text, tags_to_toggle[-1]) tagged_already = True for i, tag in enumerate(tags_to_toggle[:-1]): if u.has_tag(text, tag): text = u.remove_tag(text, tag) text = u.add_tag( text, tags_to_toggle[i + 1], param=date.today().isoformat() if tags_to_toggle[i + 1] == 'done' else None ) tagged_already = True break if not tagged_already: text = u.add_tag(text, tags_to_toggle[0]) return text
def pformat(self, tlist): result = [] for item in tlist: item.text = remove_tag(item.text, 'done') if item.type == 'project': result.append(self.project(item)) if item.type == 'seq-project': result.append(self.project(item)) elif item.type == 'task': result.append(self.task(item)) elif item.type == 'note': result.append(self.note(item)) else: result.append('') return '\n'.join(result).encode('utf-8').strip() + '\n'
def get_title(task): title = task.text for tag in ['due', 'date', 'at', 'place']: title = remove_tag(title, tag) title = title.strip() return title