Example #1
0
    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
Example #2
0
 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'
Example #3
0
def get_title(task):
	title = task.text
	for tag in ['due', 'date', 'at', 'place']:
		title = remove_tag(title, tag)
	title = title.strip()
	return title