From a1575237fd0de77e0d623204eae2c369d8d32b2a Mon Sep 17 00:00:00 2001 From: mathieui Date: Mon, 28 Nov 2011 21:27:40 +0100 Subject: [PATCH] Python 3.0/.1 compatibility --- src/bookmark.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/bookmark.py b/src/bookmark.py index dbd8855a..45616d93 100644 --- a/src/bookmark.py +++ b/src/bookmark.py @@ -1,9 +1,16 @@ import os +from sys import version_info from sleekxmpp.plugins.xep_0048 import * from core import JID from config import config +def iter(xml, tag=''): + if version_info[1] >= 2: + return xml.iter(tag) + else: + return xml.getiterator(tag) + preferred = config.get('use_bookmarks_method', 'pep').lower() if preferred not in ('pep', 'privatexml'): preferred = 'privatexml' @@ -73,10 +80,10 @@ class Bookmark(object): name = el.get('name') autojoin = True if el.get('autojoin', False) == 'true' else False nick = None - for n in el.iter('nick'): + for n in iter(el, 'nick'): nick = nick.text password = None - for p in el.iter('password'): + for p in iter(el, 'password'): password = p.text return Bookmark(jid, name, autojoin, nick, password, method) @@ -150,7 +157,7 @@ def get_pep(xmpp): iq = xmpp.plugin['xep_0048'].get_bookmarks() except: return False - for conf in iq.xml.iter('{storage:bookmarks}conference'): + for conf in iter(iq.xml, '{storage:bookmarks}conference'): b = Bookmark.parse_from_element(conf, method='pep') if not get_by_jid(b.jid): bookmarks.append(b) @@ -162,7 +169,7 @@ def get_privatexml(xmpp): iq = xmpp.plugin['xep_0048'].get_bookmarks_old() except: return False - for conf in iq.xml.iter('{storage:bookmarks}conference'): + for conf in iter(iq.xml, '{storage:bookmarks}conference'): b = Bookmark.parse_from_element(conf, method='privatexml') if not get_by_jid(b.jid): bookmarks.append(b)