small error correction

* +x to main.py
+ added catch for a None response as some xeps have addition tags some do not have
This commit is contained in:
nico 2018-11-07 01:14:45 +01:00
parent 146a4efc7f
commit de56a9315c
2 changed files with 7 additions and 2 deletions

View file

@ -75,17 +75,16 @@ class XEPRequest:
# if requested number is member of acceptedxeps continue # if requested number is member of acceptedxeps continue
if str(self.reqxep) in self.acceptedxeps: if str(self.reqxep) in self.acceptedxeps:
searchstring = ".//*[@accepted='true']/[number='%s']" % self.reqxep searchstring = ".//*[@accepted='true']/[number='%s']" % self.reqxep
query = None
for item in self.xeplist.findall(searchstring): for item in self.xeplist.findall(searchstring):
# if the opt_arg references is member of xeptag return only that tag # if the opt_arg references is member of xeptag return only that tag
if self.opt_arg in xep_tags: if self.opt_arg in xep_tags:
query = item.find(self.opt_arg) query = item.find(self.opt_arg)
result.append("%s : %s" % (query.tag, query.text))
# if the opt_arg references is member of last-revision_tags return only that tag # if the opt_arg references is member of last-revision_tags return only that tag
elif self.opt_arg in last_revision_tags: elif self.opt_arg in last_revision_tags:
query = item.find("last-revision").find(self.opt_arg) query = item.find("last-revision").find(self.opt_arg)
result.append("%s : %s" % (query.tag, query.text))
# in any other case return the general answer # in any other case return the general answer
else: else:
@ -93,6 +92,12 @@ class XEPRequest:
for tag in result_opts: for tag in result_opts:
result.append(item.find(tag).text) result.append(item.find(tag).text)
# append opt_arg results to the result list
if query is not None:
result.append("%s : %s" % (query.tag, query.text))
else:
result.append("%s does not have a %s tag." % (self.reqxep, self.opt_arg))
# if the requested number is no member of acceptedxeps and/or not accepted return error. # if the requested number is no member of acceptedxeps and/or not accepted return error.
else: else:
result.append("XEP-%s : is not available." % self.reqxep) result.append("XEP-%s : is not available." % self.reqxep)

0
main.py Normal file → Executable file
View file