[PyKDE] PyKDE & khtml DOMString
    Jim Bublitz 
    jbublitz at nwinternet.com
       
    Fri Mar 17 20:08:18 GMT 2006
    
    
  
On Friday 17 March 2006 10:21, Ismail Donmez wrote:
> Hi all,
>
> I am using khtml in my PyKDE app ( which rocks btw ) , two minor problems
> appear, I have to use stuff like
>
> document = self.htmlPart.document()
> document.getElementsByTagName(DOM.DOMString("input"))
>
> would it be possible to write it like
> document = self.htmlPart.document()
> document.getElementsByTagName("input")
>
> which means a auto-conversion between DOMString & str.
I'm not clear if you want auto-conversion for a single method, or PyKDE-wide 
auto-conversion. In either case, I think I'd probably give the same answer. 
There are probably several hundred khtml methods that take DOM.DOMString as 
an argument. Conversion could be done with handwritten code, but that's a 
considerable amount to generate and maintain. There might be some other way 
to do it that's workable - I'd have to give that some thought.
In the meantime, the easiest way to handle it would be to subclass (in Python) 
the class that contains the method(s). For example:
class PyHtmlDocument (DOM.HTMLDocument):
	def getElementsByTagName (self, pyString):
		return DOM.HTMLDocument.getElementsByTagName (self, 
                               DOM.DOMString (pyString))
> Also is there a way to handle C++ exceptions in Python ? Because per DOM
>  spec khtml throws exceptions in DOM code which results in a crash
>  because I can't handle it as a Python exception.
In configure.py, generate_code (), add:
if mname == "khtml":
	argv.append("-e")
That should generate Python exceptions for any C++ exceptions anywhere in 
khtml. I'll modify configure.py to do that for the next release.
Jim
    
    
More information about the PyQt
mailing list