Here's my code that causes the above:
from turbogears import controllers, expose, flash, redirect
from turbogears.feed import FeedController
test_string = "default"
input_feed_url_string = "none_yet"
import logging
log = logging.getLogger("hello.controllers")
import xml.sax.handler
import sgmllib
class ParseError(Exception):
pass
class HTML_Stripper(sgmllib.SGMLParser):
def __init__(self):
sgmllib.SGMLParser.__init__(self)
def strip(self, some_html):
self.theString = ""
self.feed(some_html)
self.close()
return self.theString
def handle_data(self, data):
self.theString += data
class Feed(FeedController):
def get_feed_data(self, **kwargs):
input_feed_url_string = "http://rss.news.yahoo.com/rss/health"
feed_title = "modified version"
html_stripper = HTML_Stripper()
entries = []
import feedparser
feed_data = feedparser.parse(input_feed_url_string)
for e in feed_data.entries:
item = {}
item["title"] = "some title"
from datetime import datetime
item["published"] = datetime.now()
item["updated"] = datetime.now()
item["author"] = "B"
safe_summary = e.summary_detail.value.encode('ascii',
'ignore')
modified_summary = safe_summary
log.error("safe_summary=" + safe_summary)
modified_summary = html_stripper.strip(safe_summary)
log.error("modified_summary=" + modified_summary)
item["summary"] = modified_summary
item["link"] = e.link
entries.append(item)
return dict( \
title = feed_title, link = "http://some_link.com", \
author = {"name": "B", "email": "[EMAIL PROTECTED]"}, \
subtitle = "info", id = "http://id_link.com", entries =
entries)
class Root(controllers.RootController):
feed = Feed()
def __init__(self):
controllers.RootController.__init__(self)
@expose(template="hello.templates.welcome")
def index(self):
import time
log.debug("TurboGears Controller Responding For Duty")
flash("index called... Your application is now running")
return dict(now=time.ctime())
@expose(template="hello.templates.hello")
def hello(self, *args, **kwargs):
return dict(greeting="Greetings again from the Controller")
On Jun 26, 10:06 pm, buffalob <[EMAIL PROTECTED]> wrote:
> I'm using FeedController with get_feed_data, successfully for the most
> part, but very intermittently I get the following mysterious crash
> (and I say mysterious because my code does not directly call anything
> listed below, so I've no idea why the "5 args expected, 1 provided"
> should be happening).
>
> I invoke from my web browser as follows:
>
> http://localhost:8080/feed/rss2.0
>
> ...and then here's what happens (and I'll post my code in a response
> momentarily):
>
> 500 Internal error
>
> The server encountered an unexpected condition which prevented it from
> fulfilling the request.
>
> Page handler: <bound method Feed.rss2_0 of <hello.controllers.Feed
> object at 0x01300310>>
> Traceback (most recent call last):
> File "c:\python24\lib\site-packages\CherryPy-2.2.1-py2.4.egg\cherrypy
> \_cphttptools.py", line 105, in _run
> self.main()
> File "c:\python24\lib\site-packages\CherryPy-2.2.1-py2.4.egg\cherrypy
> \_cphttptools.py", line 254, in main
> body = page_handler(*virtual_path, **self.params)
> File "<string>", line 3, in rss2_0
> File "c:\python24\lib\site-packages\TurboGears-1.0.2.2-py2.4.egg
> \turbogears\controllers.py", line 334, in expose
> output = database.run_with_transaction(
> File "<string>", line 5, in run_with_transaction
> File "c:\python24\lib\site-packages\TurboGears-1.0.2.2-py2.4.egg
> \turbogears\database.py", line 303, in so_rwt
> retval = func(*args, **kw)
> File "<string>", line 5, in _expose
> File "c:\python24\lib\site-packages\TurboGears-1.0.2.2-py2.4.egg
> \turbogears\controllers.py", line 351, in <lambda>
> mapping, fragment, args, kw)))
> File "c:\python24\lib\site-packages\TurboGears-1.0.2.2-py2.4.egg
> \turbogears\controllers.py", line 391, in _execute_func
> return _process_output(output, template, format, content_type,
> mapping, fragment)
> File "c:\python24\lib\site-packages\TurboGears-1.0.2.2-py2.4.egg
> \turbogears\controllers.py", line 82, in _process_output
> fragment=fragment)
> File "c:\python24\lib\site-packages\TurboGears-1.0.2.2-py2.4.egg
> \turbogears\view\base.py", line 131, in render
> return engine.render(**kw)
> File "c:\python24\lib\site-packages\TurboKid-1.0.1-py2.4.egg\turbokid
> \kidsupport.py", line 192, in render
> return t.serialize(encoding=self.defaultencoding, output=format,
> fragment=fragment)
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \__init__.py", line 299, in serialize
> raise_template_error(module=self.__module__)
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \__init__.py", line 297, in serialize
> return serializer.serialize(self, encoding, fragment, format)
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \serialization.py", line 105, in serialize
> text = ''.join(self.generate(stream, encoding, fragment, format))
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \serialization.py", line 343, in generate
> for ev, item in self.apply_filters(stream, format):
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \serialization.py", line 163, in format_stream
> for ev, item in stream:
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \parser.py", line 219, in _coalesce
> for ev, item in stream:
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \parser.py", line 177, in _track
> for p in stream:
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \filter.py", line 24, in apply_matches
> for ev, item in stream:
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \parser.py", line 177, in _track
> for p in stream:
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \parser.py", line 227, in _coalesce
> text += to_unicode(value, encoding)
> File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid
> \parser.py", line 204, in to_unicode
> return unicode(value, encoding)
> type error: function takes exactly 5 arguments (1 given)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---