예제 #1
0
 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
예제 #2
0
 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)
예제 #3
0
 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)))