remove (hopefully) unneeded lreduce
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 21 Jan 2007 13:50:52 +0000 (13:50 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 21 Jan 2007 13:50:52 +0000 (13:50 +0000)
webinterface/src/web/epgnow.xml
webinterface/src/web/epgsearch.rss.xml
webinterface/src/web/epgsearch.xml
webinterface/src/web/epgservice.xml
webinterface/src/web/fetchchannels.xml
webinterface/src/web/movielist.rss.xml
webinterface/src/web/movielist.xml
webinterface/src/web/timerdelete.xml
webinterface/src/web/timerlist.xml
webinterface/src/web/vol.xml
webinterface/src/webif.py

index e352802..b5c6625 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;e2eventlist><e2:element source="EPGNOW" id="bref"><e2:convert type="web:ListFiller" >
        &lt;e2event>
                &lt;e2eventid><e2:item name="EventID"/>&lt;/e2eventid>
index c633b54..bbde318 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
        &lt;channel>
                &lt;title>EPG Suche&lt;/title>
index afbb740..b8cba1a 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;e2eventlist><e2:element source="EPGTITLE" id="search"><e2:convert type="web:ListFiller" >
        &lt;e2event>
                &lt;e2eventid><e2:item name="EventID"/>&lt;/e2eventid>
index 9f402ff..a59ffe8 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;e2eventlist><e2:element source="EPGSERVICE" id="ref"><e2:convert type="web:ListFiller" >
        &lt;e2event>
                &lt;e2eventid><e2:item name="EventID"/>&lt;/e2eventid>
index 99bd7c3..6e31e34 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 <e2servicelist>
 <e2:element source="ServiceListBrowse">                                
        <e2:convert type="web:ListFiller">
index 4576a44..18e2915 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
        &lt;channel>
                &lt;title>Enigma2 Movielist&lt;/title>
index f70cf90..32336b2 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;e2movielist><e2:element source="MovieList" ><e2:convert type="web:ListFiller" >
        &lt;e2movie>
                &lt;e2servicereference><e2:item name="ServiceReference"  filter="xml"/>&lt;/e2servicereference>
index 649a48f..0e3e2a4 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
        <e2:element source="TimerDel" id="serviceref,begin,end">
                <e2:convert type="web:TextToHTML" />
        </e2:element>
index c16c849..c069442 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;e2timerlist><e2:element source="TimerList" ><e2:convert type="web:ListFiller" >
        &lt;e2timer>
                &lt;e2servicereference><e2:item name="ServiceReference" />&lt;/e2servicereference>
index b87fe74..6ad0fb8 100644 (file)
@@ -1,4 +1,4 @@
-<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="utf-8"?>
+<e2:screen name="TestScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;e2volume><e2:element source="Volume" id="set"><e2:convert type="web:ListFiller" >
                &lt;e2result><e2:item name="Result"/>&lt;/e2result>
                &lt;e2resulttext><e2:item name="ResultText"/>&lt;/e2resulttext>
index 4b7521d..f35aee7 100644 (file)
@@ -186,13 +186,7 @@ class ListFiller(Converter):
 
                # now build a ["string", 1, "string", 2]-styled list, with indices into the
                # list to avoid lookup of item name for each entry
-               lutlist = [ ]
-               append = lutlist.append
-               for element in conv_args:
-                       if isinstance(element, str):
-                               append((element, None))
-                       else:
-                               append((lut[element.name], element.filternum))
+               lutlist = [ isinstance(element, basestring) and (element, None) or (lut[element.name], element.filternum) for element in conv_args ]
 
                # now, for the huge list, do:
                strlist = [ ]
@@ -209,9 +203,8 @@ class ListFiller(Converter):
                                        append(str(item[element]).replace("%", "%25").replace("+", "%2B").replace('&', '%26').replace('?', '%3f').replace(' ', '+'))
                                else:
                                        append(str(item[element]))
-               res = "".join(strlist)
                # (this will be done in c++ later!)
-               return res
+               return ''.join(strlist)
 
        text = property(getText)
 
@@ -236,7 +229,7 @@ class webifHandler(ContentHandler):
                tag.insert(0, name)
                tag.insert(0, '<')
                tag.append('>')
-               tag = ''.join(tag)
+               tag = ''.join(tag)#.encode('utf-8')
 
                if self.mode == 0:
                        self.res.append(tag)
@@ -280,13 +273,11 @@ class webifHandler(ContentHandler):
                elif self.mode == 2 and name[:3] != "e2:":
                        self.sub.append(tag)
                elif self.mode == 2: # closed 'convert' -> sub
-                       self.sub = lreduce(self.sub)
                        if len(self.sub) == 1:
                                self.sub = self.sub[0]
                        c = self.converter(self.sub)
                        c.connect(self.source)
                        self.source = c
-                       
                        del self.sub
                elif self.mode == 1: # closed 'element'
                        # instatiate either a StreamingElement or a OneTimeElement, depending on what's required.
@@ -327,26 +318,6 @@ class webifHandler(ContentHandler):
                        screen.doClose()
                self.screens = [ ]
 
-def lreduce(list):
-       # ouch, can be made better
-       res = [ ]
-       string = None
-       for x in list:
-               if isinstance(x, str):
-                       if string is None:
-                               string = x
-                       else:
-                               string += x
-               else:
-                       if string is not None:
-                               res.append(string)
-                               string = None
-                       res.append(x)
-       if string is not None:
-               res.append(string)
-               string = None
-       return res
-
 def renderPage(stream, path, req, session):
        
        # read in the template, create required screens
@@ -371,7 +342,7 @@ def renderPage(stream, path, req, session):
        # now, we have a list with static texts mixed
        # with non-static Elements.
        # flatten this list, write into the stream.
-       for x in lreduce(handler.res):
+       for x in handler.res:
                if isinstance(x, Element):
                        if isinstance(x, StreamingElement):
                                finish = False