def fget(self): if EvernoteApiWrapper.is_evernote_url(self._href): if self._ref_item is None: self._ref_item = self._adaptor.wp_item_from_note(self._href) return self._ref_item else: return self._href
def _find_ref_items(self): for a_tag in self._content_node.findall('.//a'): href = a_tag.get('href', '') if EvernoteApiWrapper.is_evernote_url(href): # Add a late-loading function in case this will never be needed def load_item(link): return lambda: self._adaptor.wp_item_from_note(link) self._wp_item._ref_wp_items[href] = load_item(href)
def render_line_element(e, line_so_far): tag = e.tag.lower() if 'a' == tag: href = e.get('href', '') text = e.text if EvernoteApiWrapper.is_evernote_url(href): ref_item = self._adaptor.wp_item_from_note(href) return ref_item.markdown_ref(text) else: return href elif 'span' == tag: return e.text elif 'en-todo' == tag: return '❑' elif 'en-media' == tag: logger.warn('Unexpected en-media element in content: %s', ET.tostring(e)) return '' else: raise NoteParserError('Invalid tag "%s" in content paragraph' % (ET.tostring(e)))