def _parse_task_node(self, task_node): attrs = dict() attribute_renames = dict(startdate='plannedstartdate') for name in [ 'startdate', 'plannedstartdate', 'duedate', 'completiondate', 'reminder' ]: new_name = attribute_renames.get(name, name) template_name = name + 'tmpl' if template_name in task_node.attrib: if self.tskversion() < 32: value = TemplateXMLReader.convert_old_format( task_node.attrib[template_name]) else: value = task_node.attrib[template_name] attrs[new_name] = value task_node.attrib[new_name] = str( nlTimeExpression.parseString(value).calculatedTime) elif new_name not in attrs: attrs[new_name] = None if 'subject' in task_node.attrib: task_node.attrib['subject'] = translate( task_node.attrib['subject']) parsed_task = super(TemplateXMLReader, self)._parse_task_node(task_node) for name, value in attrs.items(): setattr(parsed_task, name + 'tmpl', value) return parsed_task
def isValid(value): if value: try: res = nlTimeExpression.parseString(value) except: return False # pylint: disable=W0702 return 'calculatedTime' in res return True # Empty is valid.
def _parseTaskNode(self, taskNode): attrs = dict() for name in ["startdate", "duedate", "completiondate", "reminder"]: if taskNode.attrib.has_key(name + "tmpl"): if self.tskversion() < 32: value = TemplateXMLReader.convertOldFormat(taskNode.attrib[name + "tmpl"]) else: value = taskNode.attrib[name + "tmpl"] attrs[name] = value taskNode.attrib[name] = str(nlTimeExpression.parseString(value).calculatedTime) else: attrs[name] = None if taskNode.attrib.has_key("subject"): taskNode.attrib["subject"] = translate(taskNode.attrib["subject"]) task = super(TemplateXMLReader, self)._parseTaskNode(taskNode) for name, value in attrs.items(): setattr(task, name + "tmpl", value) return task
def _parse_task_node(self, task_node): attrs = dict() attribute_renames = dict(startdate="plannedstartdate") for name in ["startdate", "plannedstartdate", "duedate", "completiondate", "reminder"]: new_name = attribute_renames.get(name, name) template_name = name + "tmpl" if template_name in task_node.attrib: if self.tskversion() < 32: value = TemplateXMLReader.convert_old_format(task_node.attrib[template_name]) else: value = task_node.attrib[template_name] attrs[new_name] = value task_node.attrib[new_name] = str(nlTimeExpression.parseString(value).calculatedTime) elif new_name not in attrs: attrs[new_name] = None if "subject" in task_node.attrib: task_node.attrib["subject"] = translate(task_node.attrib["subject"]) parsed_task = super(TemplateXMLReader, self)._parse_task_node(task_node) for name, value in attrs.items(): setattr(parsed_task, name + "tmpl", value) return parsed_task