On Mon, 2009-06-08 at 18:03 +0100, Phil Mayers wrote:
> Jack Bates wrote:
> > i have a domish element - when i try the following,
> > 
> >>>> message = element
> >>>> del message['from']
> >>>> element['from']
> > 
> > - i get a key error
> 
> Well, yes. That's how python works ;o)
> 
> > 
> > to avoid this key error, i think i want to copy the element, so i can
> > drop the 'from' attribute from one copy without affecting the other?
> > 
> > but i didn't find anything to make a copy in the domish element api
> 
> I haven't tried it, but have you tried the python standard copy protocol:
> 
> import copy
> message = copy.deepcopy(element)

Deep copies of Element instances is probably not what you want here. See
issue #724.

I suspect from your example that you want to respond to an incoming XML
Stanza. In general, it is better to construct a new stanza from the old
one, keeping the addressing but in reverse. There is a utility function
for this: twisted.words.protocols.jabber.xmlstream.toResponse. For error
responses, you want to look at t.w.p.j.error.StanzaError and its
toResponse method.

-- 
Groetjes,

ralphm


_______________________________________________
Twisted-Python mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to