def begin_project (self, project): fix_dates(project) load_note_attribs (project) if project.date_due != None or project.date_to_start != None: fix_dates(project) load_note_attribs (project) Formatter.begin_project(self, project)
def __init__ (self, out, template, time_control_default): Formatter.__init__(self, out, template) self.current_item = None self.time_control_default = time_control_default # Start and due dates are formated differently for all day tasks, need different types template.attrib_map_builder.type_fns['ics.date_due'] = lambda x: format_date(self.current_item, x, True) template.attrib_map_builder.type_fns['ics.date_to_start'] = lambda x: format_date(self.current_item, x, False) template.attrib_map_builder.type_fns['ics.note'] = lambda x: '\\r'.join(x.get_note_lines ())
def begin_context (self, context): if self.last_line_was_text: print >> self.out print >>self.out, ('#' * (self.header_depth+1)), Formatter.begin_context(self, context) print >>self.out self.depth = 0 self.header_depth+=1 self.last_line_was_text = False
def begin_context(self, context): is_output = 'ContextStart' in self.template.nodes if self.last_line_was_text and is_output: print >> self.out self.last_line_was_text = False Formatter.begin_context(self, context) if is_output: print >> self.out self.depth = 0 self.header_depth += 1
def begin_folder (self, folder): is_output = 'FolderStart' in self.template.nodes if self.last_line_was_text and is_output: print >> self.out self.last_line_was_text = False Formatter.begin_folder(self, folder) if is_output: print >>self.out self.depth = 0 self.header_depth+=1
def begin_folder(self, folder): is_output = 'FolderStart' in self.template.nodes if self.last_line_was_text and is_output: print >> self.out self.last_line_was_text = False Formatter.begin_folder(self, folder) if is_output: print >> self.out self.depth = 0 self.header_depth += 1
def begin_context (self, context): is_output = 'ContextStart' in self.template.nodes if self.last_line_was_text and is_output: print >> self.out self.last_line_was_text = False Formatter.begin_context(self, context) if is_output: print >>self.out self.depth = 0 self.header_depth+=1
def __init__ (self, out, template): attrib_conversions = { 'name' : lambda x: remove_trailing_colon(x), 'link' : lambda x: x, 'status' : lambda x: x, 'flagged' : lambda x: str(x) if x else None, 'context' : lambda x: strip_brackets(''.join (x.name.split ())), 'project' : lambda x: strip_brackets(''.join (x.name.split ())), 'date_to_start' : lambda x: x.strftime(template.date_format), 'date_due' : lambda x: x.strftime(template.date_format), 'date_completed' : lambda x: x.strftime(template.date_format), 'note' : lambda x: ''.join([line+'\n' for line in x.get_note_lines ()]) } Formatter.__init__(self, out, template, attrib_conversions=attrib_conversions)
def __init__ (self, out, template): attrib_conversions = { 'id' : lambda x: escape(x), 'name' : lambda x: escape(x), 'link' : lambda x: x, 'status' : lambda x: x, 'flagged' : lambda x: str(x) if x else None, 'context' : lambda x: escape(''.join (x.name.split ())), 'project' : lambda x: escape(''.join (x.name.split ())), 'date_to_start' : lambda x: x.strftime(template.date_format), 'date_due' : lambda x: x.strftime(template.date_format), 'date_completed' : lambda x: x.strftime(template.date_format), 'note' : lambda x: format_note (x.get_note_lines ()) } Formatter.__init__(self, out, template, attrib_conversions = attrib_conversions)
def __init__ (self, out, template): self.current_item = None attrib_conversions = { 'id' : lambda x: x, 'name' : lambda x: x, 'link' : lambda x: x, 'status' : lambda x: x, 'flagged' : lambda x: str(x) if x else None, 'context' : lambda x: x.name, 'project' : lambda x: x.name, 'date_to_start' : lambda x: format_date(self.current_item,x, False), 'date_due' : lambda x: format_date(self.current_item, x, True), 'date_completed' : lambda x: x.strftime(DATE_FORMAT_LONG), 'note' : lambda x: '\\r'.join(x.get_note_lines ()) } Formatter.__init__(self, out, template, attrib_conversions = attrib_conversions)
def generate (out, root_project, root_context, project_mode, template_dir, type_config): subject = root_project if project_mode else root_context template = load_template (template_dir, type_config['template']) template.attrib_map_builder.type_fns['html.string'] = lambda x: escape (x) template.attrib_map_builder.type_fns['html.note'] = lambda x: ''.join([line+'<br>' for line in x.get_note_lines ()]) visitor = Formatter (out, template) format_document (subject, visitor, project_mode)
def generate(out, root_project, root_context, project_mode, template_dir, type_config): subject = root_project if project_mode else root_context template = load_template(template_dir, type_config['template']) template.attrib_map_builder.type_fns[ 'taskpaper.tag'] = lambda x: strip_brackets(''.join(x.split())) template.attrib_map_builder.type_fns[ 'taskpaper.title'] = lambda x: remove_trailing_colon(x) visitor = Formatter(out, template) format_document(subject, visitor, project_mode)
def __init__ (self, out, template): self.current_item = None Formatter.__init__(self, out, template) template.attrib_map_builder.type_fns['ics.date'] = lambda x: format_date(self.current_item, x, True) template.attrib_map_builder.type_fns['ics.note'] = lambda x: '\\r'.join(x.get_note_lines ())
def begin_any (self, item): Formatter.begin_any(self, item) self.current_item = item
def begin_task (self, task): if task.date_due != None or task.date_to_start != None: fix_dates(task) load_note_attribs (task, self.time_control_default) Formatter.begin_task(self, task)
def end_task (self, task): if task.date_due != None or task.date_to_start != None: Formatter.end_task(self, task)
def end_project (self, project): self.header_depth-=1 Formatter.end_project(self, project)
def end_task (self,task): Formatter.end_task(self, task) self.last_line_was_text = True
def end_task(self, task): Formatter.end_task(self, task) self.last_line_was_text = True
def begin_project (self, project): if project.date_due != None or project.date_to_start != None: fix_dates(project) load_note_attribs (project, self.time_control_default) Formatter.begin_project(self, project)
def __init__(self, out, template): Formatter.__init__(self, out, template) self.header_depth = 0 self.depth = 0 self.out = out self.last_line_was_text = False
def end_project (self, project): if project.date_due != None or project.date_to_start != None: Formatter.end_project(self, project)
def begin_task (self, task): if task.date_due != None or task.date_to_start != None: fix_dates(task) load_note_attribs (task) Formatter.begin_task(self, task)
def handle_note (self, item): if item.note != None and 'NoteLine' in self.template.nodes: if item.type == PROJECT: print >>self.out Formatter.handle_note (self, item)
def __init__ (self, out, template): Formatter.__init__(self, out, template) self.header_depth = 0 self.depth = 0 self.out = out self.last_line_was_text = False
def generate (out, root_project, root_context, project_mode, template_dir, type_config): subject = root_project if project_mode else root_context template = load_template (template_dir, type_config['template']) visitor = Formatter (out, template) format_document (subject, visitor, project_mode)
def end_context(self, context): self.header_depth -= 1 Formatter.end_context(self, context)
def end_context (self, context): self.header_depth-=1 Formatter.end_context(self, context)
def end_project(self, project): self.header_depth -= 1 Formatter.end_project(self, project)
def end_folder (self, folder): self.header_depth-=1 Formatter.end_folder(self, folder)
def end_folder(self, folder): self.header_depth -= 1 Formatter.end_folder(self, folder)
def __init__ (self, out, template): Formatter.__init__(self, out, template)
def handle_note(self, item): if item.note != None and 'NoteLine' in self.template.nodes: if item.type == PROJECT: print >> self.out Formatter.handle_note(self, item)