| 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'",)