[Zope3-Users] weird parsing,
is this a bug? Re: What's wrong to this html block to
testbrowser.Browser?
Fet Biz
fetbiz at gmail.com
Sun Apr 20 05:48:28 EDT 2008
I found that "<br/>" is critical to the testbrowser.browser's content
parsing:
Block A: (with a "<br/>" in 1st line and 2 options of <select>: throws
ParseError: OPTION outside of SELECT)
------------------------------------------------------------------------------------------------------------------------------------------------------------
<input id="ldap.miCosdn" name="ldap.miCosdn" size="40"
value="uid=MailUser,dc=totalbb,dc=net.dc=tw"/><br/>
<select name="ldap.miCosdn_options">
<option
value="uid=MailUser,dc=totalbb,dc=net.dc=tw">uid=MailUser,dc=totalbb,dc=net.dc=tw</option> <option value="uid=powerMailUser,dc=totalbb,dc=net.dc=tw">uid=powerMailUser,dc=totalbb,dc=net.dc=tw</option> </select>------------------------------------------------------------------------------------------------------------------------------------------------------------Block B: (with only one "option", does not raise ParseError) <input id="ldap.miCosdn" name="ldap.miCosdn" size="40"value="uid=MailUser,dc=totalbb,dc=net.dc=tw"/><br/><select name="ldap.miCosdn_options"> <optionvalue="uid=MailUser,dc=totalbb,dc=net.dc=tw">uid=MailUser,dc=totalbb,dc=net.dc=tw</option> </select>------------------------------------------------------------------------------------------------------------------------------------------------------------Block C:(remove the "<br/>", even 2 options does not raise ParseError)------------------------------------------------------------------------------------------------------------------------------------------------------------ <input id="ldap.miCosdn" name="ldap.miCosdn" size="40"value="uid=MailUser,dc=totalbb,dc=net.dc=tw"/><select name="ldap.miCosdn_options"> <optionvalue="uid=MailUser,dc=totalbb,dc=net.dc=tw">uid=MailUser,dc=totalbb,dc=net.dc=tw</option> <optionvalue="uid=powerMailUser,dc=totalbb,dc=net.dc=tw">uid=powerMailUser,dc=totalbb,dc=net.dc=tw</option> </select>------------------------------------------------------------------------------------------------------------------------------------------------------------ the traceback:------------------------------------------------------------------------------------------------------------------------------------------------------------Traceback (most recent call last): File "/mnt/data/workspace/ooldapsoap/ooldapproxysoap.py", line 17, in__call__ result = self.func(*args,**kw) File "/mnt/data/workspace/ooldapsoap/ooldapproxysoap.py", line 78, in_soap_addEntry code,message = self.browser.addEntry(folderpath,objectClass,**attrs) File "/mnt/data/workspace/ooldapsoap/browser.py", line 100, in addEntry code,message = self._findSoapResult() File "/mnt/data/workspace/ooldapsoap/browser.py", line 24, in_findSoapResult codeControl = self.Browser.getControl(name="soap_result_code") File "/usr/local/Zope-3.4.0c1/lib/python/zope/testbrowser/browser.py",line 335, in getControl intermediate, msg = self._get_all_controls( File "/usr/local/Zope-3.4.0c1/lib/python/mechanize/_mechanize.py", line309, in forms return self._factory.forms() File "/usr/local/Zope-3.4.0c1/lib/python/mechanize/_html.py", line 560, informs self._forms_genf = CachingGeneratorFunction( File "/usr/local/Zope-3.4.0c1/lib/python/mechanize/_html.py", line 276, informs encoding=encoding, File "/usr/local/Zope-3.4.0c1/lib/python/ClientForm/ClientForm.py", line929, in ParseResponse encoding, File "/usr/local/Zope-3.4.0c1/lib/python/ClientForm/ClientForm.py", line959, in ParseFile fp.feed(data) File "/usr/local/lib/python2.4/sgmllib.py", line 95, in feed self.goahead(0) File "/usr/local/lib/python2.4/sgmllib.py", line 129, in goahead k = self.parse_starttag(i) File "/usr/local/lib/python2.4/sgmllib.py", line 283, in parse_starttag self.finish_starttag(tag, attrs) File "/usr/local/lib/python2.4/sgmllib.py", line 317, in finish_starttag self.handle_starttag(tag, method, attrs) File "/usr/local/lib/python2.4/sgmllib.py", line 357, in handle_starttag method(attrs) File "/usr/local/Zope-3.4.0c1/lib/python/ClientForm/ClientForm.py", line811, in do_option _AbstractFormParser._start_option(self, attrs) File "/usr/local/Zope-3.4.0c1/lib/python/ClientForm/ClientForm.py", line547, in _start_option raise ParseError("OPTION outside of SELECT")ParseError: OPTION outside of SELECT
More information about the Zope3-users
mailing list