Beispiel #1
0
    def open_selected_item(self):
        """
        displays the currently selected item in the item view window
        """
        selected_item = self.get_item_by_id(self.get_selected_item_id())
        if not selected_item:
            return
        log.debug('Content: %s'%ET.tostring(selected_item.content))
        entry = atom_parser.parse_atom_entry(selected_item.content)
        if not entry:
            self.item_viewer._text = str(ET.tostring(selected_item.content))
        else:
            self.item_viewer._text = \
"""\x193Title:\x19o %(title)s
\x193Author:\x19o %(author_name)s (%(author_uri)s)
%(dates)s\x193Link:\x19o %(link)s

\x193Summary:\x19o
%(summary)s
""" % {'title': entry.get('title') or '',
       'author_name': entry['author'].get('name') or '',
       'author_uri': entry['author'].get('uri') or '',
       'link': entry.get('link_href') or '',
       'summary': entry.get('summary') or '',
       'dates': '\x193Published:\x19o %(published)s\n%(updated)s' % {'published':entry.get('published') or '',
                                                                'updated': '' if (entry.get('updated') is None) or (entry.get('published') == entry.get('updated')) else '\x193Published:\x19o %s\n' % entry.get('updated')}
       }
        self.item_viewer.rebuild_text()
        return True
Beispiel #2
0
 def _handle_battery_info(self, iq):
     try:
         self.battery_status = float(iq['power']) / 100
         logging.debug("*** battery_status = {:.0%}".format(
             self.battery_status))
     except ValueError:
         logging.warning("couldn't parse battery status " + ET.tostring(iq))
Beispiel #3
0
 def _handle_battery_info(self, iq):
     try:
         self.battery_status = float(iq['power']) / 100
     except ValueError:
         _LOGGER.warning("couldn't parse battery status " + ET.tostring(iq))
     else:
         self.batteryEvents.notify(self.battery_status)
         _LOGGER.debug("*** battery_status = {:.0%}".format(self.battery_status))
Beispiel #4
0
 def handle_battery_report(self, iq):
     try:
         battery_status = float(
             iq.find('{com:ctl}query/{com:ctl}ctl/{com:ctl}battery').get(
                 'power')) / 100
         logging.debug("*** battery_status = {:.0%}".format(battery_status))
         self.battery_status = battery_status
         self.on_state_change()
     except ValueError:
         logging.warning("couldn't parse battery status " + ET.tostring(iq))
Beispiel #5
0
	def get_xhtml(self, element=True):
		xhtml = ET.XML(markdown_to_xhtml(self.text))
		if self.font:
			span = ET.Element('span')
			span.set('style', 'font-family: ' + self.font + ';')
			span.append(xhtml)
			xhtml = span
		if element:
			return xhtml
		return ET.tostring(xhtml)
Beispiel #6
0
 def get_xhtml(self, element=True):
     xhtml = ET.XML(markdown_to_xhtml(self.text))
     if self.font:
         span = ET.Element('span')
         span.set('style', 'font-family: ' + self.font + ';')
         span.append(xhtml)
         xhtml = span
     if element:
         return xhtml
     return ET.tostring(xhtml)
Beispiel #7
0
	def get_xhtml(self, element=True):
		lines = self.text.split('\n')
		xhtml = ET.Element('span')
		if self.font:
			xhtml.set('style', 'font-family: ' + self.font + ';')
		for subline in lines[:-1]:
			p = ET.SubElement(xhtml, 'p')
			p.text = subline
			ET.SubElement(xhtml, 'br')
		p = ET.SubElement(xhtml, 'p')
		p.text = lines[-1]
		if element:
			return xhtml
		return ET.tostring(xhtml)
Beispiel #8
0
 def get_xhtml(self, element=True):
     lines = self.text.split('\n')
     xhtml = ET.Element('span')
     if self.font:
         xhtml.set('style', 'font-family: ' + self.font + ';')
     for subline in lines[:-1]:
         p = ET.SubElement(xhtml, 'p')
         p.text = subline
         ET.SubElement(xhtml, 'br')
     p = ET.SubElement(xhtml, 'p')
     p.text = lines[-1]
     if element:
         return xhtml
     return ET.tostring(xhtml)
Beispiel #9
0
    def publish(self, event, radius):
        from events.api.resources.jabber import EventResource

        resource = EventResource()
        event_dict = resource.full_dehydrate(resource.build_bundle(obj=event))
        event_dict.data['radius'] = radius
        str_payload = resource.serialize(None, event_dict, 'application/xml')
        payload = ET.fromstring(str_payload)

        if logger.level is logging.DEBUG:
            lxml_payload = etree.fromstring(ET.tostring(payload))
            str_payload = etree.tostring(lxml_payload, pretty_print=True)
            logger.debug('sending publish message with payload:\n%s', str_payload)

        self._pubsub.publish(self.config.pubsub_server,
                             self.config.node_name,
                             payload=payload)
Beispiel #10
0
 def set_body(self, content, lang=None):
     if lang is None:
         lang = self.get_lang()
     self.del_body(lang)
     if lang == '*':
         for sublang, subcontent in content.items():
             self.set_body(subcontent, sublang)
     else:
         if isinstance(content, type(ET.Element('test'))):
             content = ET.tostring(content)
         else:
             content = str(content)
         header = '<body xmlns="%s"' % XHTML_NS
         if lang:
             header = '%s xml:lang="%s"' % (header, lang)
         content = '%s>%s</body>' % (header, content)
         xhtml = ET.fromstring(content)
         self.xml.append(xhtml)
Beispiel #11
0
 def set_body(self, content, lang=None):
     if lang is None:
         lang = self.get_lang()
     self.del_body(lang)
     if lang == '*':
         for sublang, subcontent in content.items():
             self.set_body(subcontent, sublang)
     else:
         if isinstance(content, type(ET.Element('test'))):
             content = unicode(ET.tostring(content))
         else:
             content = unicode(content)
         header = '<body xmlns="%s"' % XHTML_NS
         if lang:
             header = '%s xml:lang="%s"' % (header, lang)
         content = '%s>%s</body>' % (header, content)
         xhtml = ET.fromstring(content)
         self.xml.append(xhtml)
Beispiel #12
0
def assertXMLEqual(a, b):
    """
    Asserts that both xmls should be syntactically valid and equal.
    Prints human-readable xml on `AssertionError`.
    """
    args = [a, b]
    parser = etree.XMLParser(remove_blank_text=True)
    for i, _ in enumerate(args):
        if isinstance(args[i], basestring):
            args[i] = etree.XML(args[i], parser=parser)
        elif isinstance(args[i], etree._Element):
            pass
        else:
            args[i] = etree.fromstring(ET.tostring(args[i]))

        args[i] = etree.tostring(args[i], pretty_print=True)

    assert_message = ('XMLs are not equal:\n'
                      '{2}\n{0}{2}\n{1}'
                      .format(args[0], args[1],  '-' * 70))
    assert (args[0] == args[1]), assert_message
Beispiel #13
0
 def payload_string(self):
     return ET.tostring(self.payload)