Dan R. Olsen III
python at dan-olsen.net
Thu Dec 23 11:08:27 EST 2004
As I have been looking at it, I actually get two different error messages to the code listed below. The first error is at the bottom of this message and the other error is: ----- BEGIN OUTPUT ----- Mod_python error: "PythonHandler rose" Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 193, in Dispatch result = object(req) File "/web/htdocs/dev/rose.py", line 7, in handler filedoc = xml.dom.minidom.parse(xmlfile) File "/usr/lib/python2.3/site-packages/_xmlplus/dom/minidom.py", line 1907, in parse from xml.dom import expatbuilder File "/usr/lib/python2.3/site-packages/_xmlplus/dom/expatbuilder.py", line 32, in ? from xml.parsers import expat File "/usr/lib/python2.3/site-packages/_xmlplus/parsers/expat.py", line 4, in ? from pyexpat import * ImportError: /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so: undefined symbol: PyUnicodeUCS4_Decode ----- END OUTPUT ----- I haven't found anything when I Google for these errors. Can anyone help? Dan R. Olsen III wrote: > I am trying to parse a file that I am getting from a url. However, I > keep getting an error saying that a module does not have an attribute > parse. Here is the code followed by the error: > > ----- BEGIN CODE ----- > > import xml.dom.minidom > #from xml.dom import minidom > from mod_python import apache > from dbxml import * > import urllib > > > ### GET ALL THE URLS FROM THE OPML FILE > ####################################### > def get_urls(req, url): > #req.write(url + "\n") > xmlfile = > urllib.urlopen('http://www.windley.com/gems/mySubscriptions.opml') > #req.write(xmlfile + "Great!!") > filedoc = xml.dom.minidom.parse(xmlfile) > req.write("HOW ABOUT HERE\n") > feeds = [] > text = filedoc.getElementsByTagName("outline") > for nodes in text: > for (name, value) in nodes.attributes.items(): > if name == 'xmlUrl': > feeds.append(value) > return feeds > > ### SPLIT THE ARGUMENTS PASSED TO THE URL > ######################################### > def split_args(args): > rose_args = {} > if args == None: > return rose_args > > arglist = args.split('&') > > for arg in arglist: > tmp = arg.split('=') > if len(tmp) == 1: > rose_args[tmp[0]] = None > else: > rose_args[tmp[0].upper()] = tmp[1] > return rose_args > > ### SEND ERROR IF SOMETHING GOES WRONG > ###################################### > def send_html_error(req, s, status): > req.content_type = 'text/html' > req.send_http_header() > req.write('<p>' + s + '</p>') > raise apache.SERVER_RETURN, status > > ### MAIN HANDLER METHOD WHERE ARE THE MAIN CALLS ARE MADE > ######################################################### > def handler(req): > req.send_http_header() > > request = req.args > rose_args = split_args(req.args) > if len(rose_args) == 0: > send_html_error(req, 'No parameters found', > apache.HTTP_BAD_REQUEST) > if len(rose_args) != 2: > send_html_error(req, '<strong><font color=\"RED\">You must have > two parameters, one for \nyour OPML file and one for the > FLAVOR</font></strong>', apache.HTTP_PRECONDITION_FAILED) > > url = rose_args.get('URL', None) > flavor = rose_args.get('FLAVOR', None) > if url == None: > send_html_error(req, '<strong><font color=\"RED\">No URL > parameter found</font></strong>', apache.HTTP_PRECONDITION_FAILED) > else: > req.write("OPML: " + url + "\n") > > if flavor == None: > send_html_error(req, '<strong><font color=\"RED\">No FLAVOR > parameter found</font></strong>', apache.HTTP_PRECONDITION_FAILED) > else: > flavor = flavor.upper() > if(flavor != 'RSS' and flavor != 'ATOM'): > req.write("FLAVOR: " + flavor + "\n") > send_html_error(req, '<strong><font color=\"RED\">The > FLAVOR you entered is not a valid flavor</font></strong>', > apache.HTTP_PRECONDITION_FAILED) > else: > req.write("FLAVOR: " + flavor + "\n") > > rose_urls = get_urls(req, url) req.write(rose_urls[0]) > mgr = XmlManager() > container = > mgr.openContainer("/web/htdocs/dev/danolsencreatedme.dbxml") > > return apache.OK > > ----- END CODE ----- > > ----- BEGIN OUTPUT ------ > > OPML: http://www.windley.com/gems/mySubscriptions.opml > FLAVOR: RSS > > Mod_python error: "PythonHandler rose" > > Traceback (most recent call last): > > File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line > 193, in Dispatch > result = object(req) > > File "/web/htdocs/dev/rose.py", line 78, in handler > rose_urls = get_urls(req, url) > > File "/web/htdocs/dev/rose.py", line 14, in get_urls > filedoc = xml.dom.minidom.parse(xmlfile) > > File "/usr/lib/python2.3/site-packages/_xmlplus/dom/minidom.py", line > 1908, in parse > return expatbuilder.parse(file) > > AttributeError: 'module' object has no attribute 'parse' > > ----- END OUTPUT ----- > > If anyone can clue me in on why this is happening that would be great! > > Dan Olsen > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20041223/28dc98e4/attachment-0001.html
|