make main window as large as settings window, remove shadow from text
[enigma2-curlytx.git] / src / AtomFeed.py
index f89c22fd64c6d75e462cd08d954e171f85ac7758..2a9f55d319be2a473ebd7a1be899c221adbb4656 100644 (file)
@@ -1,11 +1,19 @@
+# -*- coding: utf-8 -*-
+# CurlyTx Atom feed parser
+# Copyright (C) 2011 Christian Weiske <cweiske@cweiske.de>
+# License: GPLv3 or later
+
 from twisted.web.client import getPage
 from xml.etree.cElementTree import fromstring
 
 class AtomFeed:
-    """Simple XML parser that extracts pages from a atom feed
-    """
+    """ Simple XML parser that extracts pages from a atom feed """
     ns = "{http://www.w3.org/2005/Atom}"
     def __init__(self, url, callback):
+        """ Fetches the URL
+
+        Parsed pages are sent back to callback by parse()
+        """
         getPage(url).addCallback(self.parse, callback).addErrback(self.fail)
 
 
@@ -13,6 +21,7 @@ class AtomFeed:
         print("CurlyTx", msg)
 
     def parse(self, data, callback):
+        """ Parse atom feed data into pages list and run callback """
         xml = fromstring(data)
         pages = []
         for entry in xml.findall("{0}entry".format(self.ns)):
@@ -24,6 +33,7 @@ class AtomFeed:
         callback(pages)
 
     def bestLink(self, list):
+        """ Fetch the best matching link from an atom feed entry """
         foundLevel = -1
         foundHref = None
         for link in list:
@@ -37,6 +47,11 @@ class AtomFeed:
         return foundHref
 
     def level(self, link):
+        """ Determines the level of a link
+
+        "text/plain" type links are best, links without type are second.
+        All others have the lowest level 1.
+        """
         type = link.get("type")
         if type == "text/plain":
             return 3