AttributeError | Python 2.3.5: /usr/bin/python Fri Aug 18 16:22:03 2006 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/usr/local/feedvalidator-20060818/check.cgi |
230 # validate raw data (from text form) |
231 # try: |
232 params = feedvalidator.validateString(rawdata, firstOccurrenceOnly=1) |
233 events = params['loggedEvents'] |
234 feedType = params['feedType'] |
params undefined, feedvalidator = <module 'feedvalidator' from '/usr/local/feedvalidator/src/feedvalidator/__init__.py'>, feedvalidator.validateString = <function validateString>, rawdata = u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly undefined |
/usr/local/feedvalidator/src/feedvalidator/__init__.py in validateString(aString=u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly=1, fallback=None, base='') |
152 |
153 if aString is not None: |
154 validator = _validate(aString, firstOccurrenceOnly, loggedEvents, base, encoding) |
155 return {"feedType":validator.feedType, "loggedEvents":validator.loggedEvents} |
156 else: |
validator undefined, global _validate = <function _validate>, aString = u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly = 1, loggedEvents = [], base = '', encoding = 'utf-8' |
/usr/local/feedvalidator/src/feedvalidator/__init__.py in _validate(aString=u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly=1, loggedEvents=[], base='', encoding='utf-8', selfURIs=None) |
91 |
92 try: |
93 parser.parse(source) |
94 except SAXException: |
95 pass |
parser = <feedvalidator.fake_dtd_parser instance>, parser.parse = <bound method fake_dtd_parser.parse of <feedvalidator.fake_dtd_parser instance>>, source = <xml.sax.xmlreader.InputSource instance> |
/usr/lib/python2.3/xml/sax/expatreader.py in parse(self=<feedvalidator.fake_dtd_parser instance>, source=<xml.sax.xmlreader.InputSource instance>) |
105 self.reset() |
106 self._cont_handler.setDocumentLocator(ExpatLocator(self)) |
107 xmlreader.IncrementalParser.parse(self, source) |
108 |
109 def prepareParser(self, source): |
global xmlreader = <module 'xml.sax.xmlreader' from '/usr/lib/python2.3/xml/sax/xmlreader.pyc'>, xmlreader.IncrementalParser = <class xml.sax.xmlreader.IncrementalParser>, xmlreader.IncrementalParser.parse = <unbound method IncrementalParser.parse>, self = <feedvalidator.fake_dtd_parser instance>, source = <xml.sax.xmlreader.InputSource instance> |
/usr/lib/python2.3/xml/sax/xmlreader.py in parse(self=<feedvalidator.fake_dtd_parser instance>, source=<xml.sax.xmlreader.InputSource instance>) |
121 buffer = file.read(self._bufsize) |
122 while buffer != "": |
123 self.feed(buffer) |
124 buffer = file.read(self._bufsize) |
125 self.close() |
self = <feedvalidator.fake_dtd_parser instance>, self.feed = <bound method fake_dtd_parser.feed of <feedvalidator.fake_dtd_parser instance>>, buffer = '<?xml version="1.0" ?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>' |
/usr/lib/python2.3/xml/sax/expatreader.py in feed(self=<feedvalidator.fake_dtd_parser instance>, data='<?xml version="1.0" ?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', isFinal=0) |
205 # document. When feeding chunks, they are not normally final - |
206 # except when invoked from close. |
207 self._parser.Parse(data, isFinal) |
208 except expat.error, e: |
209 exc = SAXParseException(expat.ErrorString(e.code), e, self) |
self = <feedvalidator.fake_dtd_parser instance>, self._parser = <pyexpat.xmlparser object>, self._parser.Parse = <built-in method Parse of pyexpat.xmlparser object>, data = '<?xml version="1.0" ?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', isFinal = 0 |
/usr/lib/python2.3/xml/sax/expatreader.py in end_element_ns(self=<feedvalidator.fake_dtd_parser instance>, name=u'http://www.w3.org/2005/Atom link') |
346 pair = tuple(pair) |
347 |
348 self._cont_handler.endElementNS(pair, None) |
349 |
350 # this is not used (call directly to ContentHandler) |
self = <feedvalidator.fake_dtd_parser instance>, self._cont_handler = <feedvalidator.base.SAXDispatcher instance>, self._cont_handler.endElementNS = <bound method SAXDispatcher.endElementNS of <feedvalidator.base.SAXDispatcher instance>>, pair = (u'http://www.w3.org/2005/Atom', u'link'), builtin None = None |
/usr/local/feedvalidator/src/feedvalidator/base.py in endElementNS(self=<feedvalidator.base.SAXDispatcher instance>, name=u'link', qname=u'http://www.w3.org/2005/Atom') |
200 qname, name = name |
201 for handler in iter(self.handler_stack[-1]): |
202 handler.endElementNS(name, qname) |
203 del self.handler_stack[-1] |
204 |
handler = <feedvalidator.link.link instance>, handler.endElementNS = <bound method link.endElementNS of <feedvalidator.link.link instance>>, name = u'link', qname = u'http://www.w3.org/2005/Atom' |
/usr/local/feedvalidator/src/feedvalidator/base.py in endElementNS(self=<feedvalidator.link.link instance>, name=u'link', qname=u'http://www.w3.org/2005/Atom') |
402 def endElementNS(self, name, qname): |
403 self.normalizeWhitespace() |
404 self.validate() |
405 if self.isValid and self.name: |
406 from validators import ValidElement |
self = <feedvalidator.link.link instance>, self.validate = <bound method link.validate of <feedvalidator.link.link instance>> |
/usr/local/feedvalidator/src/feedvalidator/link.py in validate(self=<feedvalidator.link.link instance>) |
77 if self.attrs.has_key((None, "href")): |
78 self.value = self.attrs.getValue((None, "href")) |
79 xmlbase.validate(self, extraParams={"attr": "href"}) |
80 |
81 if self.rel == "self" and self.parent.name == "feed": |
global xmlbase = <class feedvalidator.validators.xmlbase>, xmlbase.validate = <unbound method xmlbase.validate>, self = <feedvalidator.link.link instance>, extraParams undefined |
/usr/local/feedvalidator/src/feedvalidator/validators.py in validate(self=<feedvalidator.link.link instance>, errorClass=<class feedvalidator.logging.InvalidIRI>, successClass=<class feedvalidator.logging.ValidURI>, extraParams={'attr': 'href'}) |
473 if rfc3987.validate(self, errorClass, successClass, extraParams): |
474 if self.dispatcher.xmlBase != self.xmlBase: |
475 docbase=canonicalForm(self.dispatcher.xmlBase).split('#')[0] |
476 elembase=canonicalForm(self.xmlBase).split('#')[0] |
477 value=canonicalForm(urljoin(elembase,self.value)).split('#')[0] |
docbase undefined, global canonicalForm = <function canonicalForm>, self = <feedvalidator.link.link instance>, self.dispatcher = <feedvalidator.base.SAXDispatcher instance>, self.dispatcher.xmlBase = '.', ).split = <built-in method split of str object> |
AttributeError: 'NoneType' object has no attribute 'split'
args =
("'NoneType' object has no attribute 'split'",)