Mercurial > libervia-pubsub
comparison idavoll/pgsql_storage.py @ 202:77c61e2b8c75
Use `domish.Element`s to represent items, instead of serialized XML.
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Wed, 25 Jun 2008 12:27:55 +0000 |
parents | e404775b12df |
children | b4bf0a5ce50d |
comparison
equal
deleted
inserted
replaced
201:d829db6095d6 | 202:77c61e2b8c75 |
---|---|
1 # Copyright (c) 2003-2008 Ralph Meijer | 1 # Copyright (c) 2003-2008 Ralph Meijer |
2 # See LICENSE for details. | 2 # See LICENSE for details. |
3 | 3 |
4 import copy | 4 import copy |
5 | |
6 from zope.interface import implements | |
7 | |
5 from twisted.enterprise import adbapi | 8 from twisted.enterprise import adbapi |
6 from twisted.words.protocols.jabber import jid | 9 from twisted.words.protocols.jabber import jid |
7 from zope.interface import implements | 10 |
11 from wokkel.generic import parseXml | |
8 | 12 |
9 from idavoll import error, iidavoll | 13 from idavoll import error, iidavoll |
10 | 14 |
11 class Storage: | 15 class Storage: |
12 | 16 |
416 maxItems)) | 420 maxItems)) |
417 else: | 421 else: |
418 cursor.execute(query, (self.nodeIdentifier)) | 422 cursor.execute(query, (self.nodeIdentifier)) |
419 | 423 |
420 result = cursor.fetchall() | 424 result = cursor.fetchall() |
421 return [unicode(r[0], 'utf-8') for r in result] | 425 return [parseXml(r[0]) for r in result] |
422 | 426 |
423 | 427 |
424 def getItemsById(self, itemIdentifiers): | 428 def getItemsById(self, itemIdentifiers): |
425 return self._dbpool.runInteraction(self._getItemsById, itemIdentifiers) | 429 return self._dbpool.runInteraction(self._getItemsById, itemIdentifiers) |
426 | 430 |
434 WHERE node=%s AND item=%s""", | 438 WHERE node=%s AND item=%s""", |
435 (self.nodeIdentifier, | 439 (self.nodeIdentifier, |
436 itemIdentifier)) | 440 itemIdentifier)) |
437 result = cursor.fetchone() | 441 result = cursor.fetchone() |
438 if result: | 442 if result: |
439 items.append(unicode(result[0], 'utf-8')) | 443 items.append(parseXml(result[0])) |
440 return items | 444 return items |
441 | 445 |
442 | 446 |
443 def purge(self): | 447 def purge(self): |
444 return self._dbpool.runInteraction(self._purge) | 448 return self._dbpool.runInteraction(self._purge) |