From 349b1c0b283cc417fe4a51da4d111a7118416cde Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Mon, 19 Oct 2009 05:16:43 +0000 Subject: * added form merging --- sleekxmpp/plugins/xep_0004.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'sleekxmpp/plugins') diff --git a/sleekxmpp/plugins/xep_0004.py b/sleekxmpp/plugins/xep_0004.py index c85b09a5..ee6646fa 100644 --- a/sleekxmpp/plugins/xep_0004.py +++ b/sleekxmpp/plugins/xep_0004.py @@ -95,6 +95,19 @@ class Form(FieldContainer): self.reported = [] self.items = [] + def merge(self, form2): + form1 = Form(self.xmpp, self.type, self.title, self.instructions) + form1.fromXML(self.getXML(self.type)) + for field in form2.fields: + if not field.var in form1.fields: + form1.addField(field.var, field.type, field.label, field.desc, field.required, field.value): + else: + form1.fields[field.var].value = field.value + for option, label in field.options: + if (option, label) not in form1.fields[field.var].options: + form1.fields[field.var].addOption(option, label) + return form1 + def getValues(self): result = {} for field in self.fields: -- cgit v1.2.3