summaryrefslogtreecommitdiff
path: root/python/skytools/psycopgwrapper.py
diff options
context:
space:
mode:
authorMarko Kreen2008-04-03 09:11:14 +0000
committerMarko Kreen2008-04-03 09:11:14 +0000
commit371752cca75c8d502c78b6544da251bd3f484672 (patch)
tree2ace359913191a5d9f4160f864feaef0c1465ad3 /python/skytools/psycopgwrapper.py
parent40c21125dec7939c3d2a4b3e9ad5d8aef4eff15d (diff)
simplify psycopgwrapper:
- remove QuotedString, its unused now - drop the ugly __setitem__ implementation - drop __setattr__, __delattr_ row is supposed to be r/o
Diffstat (limited to 'python/skytools/psycopgwrapper.py')
-rw-r--r--python/skytools/psycopgwrapper.py30
1 files changed, 1 insertions, 29 deletions
diff --git a/python/skytools/psycopgwrapper.py b/python/skytools/psycopgwrapper.py
index ef4fe94e..4ba80a4d 100644
--- a/python/skytools/psycopgwrapper.py
+++ b/python/skytools/psycopgwrapper.py
@@ -20,29 +20,12 @@ try:
# only backwards compat thing we need is dict* methods
import psycopg2.extensions, psycopg2.extras
- from psycopg2.extensions import QuotedString
from sqltools import dbdict
class _CompatRow(psycopg2.extras.DictRow):
"""Make DictRow more dict-like."""
__slots__ = ('_index',)
- def __setitem__(self, k, v):
- """Allow adding new key-value pairs.
-
- Such operation adds new field to global _index.
- But that is OK, as .description is unchanged, and access
- to such fields before setting them should raise exception
- anyway.
- """
- if type(k) != int:
- if k not in self._index:
- self._index[k] = len(self._index)
- k = self._index[k]
- while k >= len(self):
- self.append(None)
- return list.__setitem__(self, k, v)
-
def __contains__(self, k):
"""Returns if such row has such column."""
return k in self._index
@@ -59,17 +42,7 @@ try:
# obj.foo access
def __getattr__(self, k):
- try:
- return psycopg2.extras.DictRow.__getattr__(self, k)
- except AttributeError:
- return self[k]
- def __setattr__(self, k, v):
- if k == "_index":
- return psycopg2.extras.DictRow.__setattr__(self, k, v)
- else:
- self[k] = v
- def __delattr__(self, k):
- raise Exception("del not supported for DictRow")
+ return self[k]
class _CompatCursor(psycopg2.extras.DictCursor):
"""Regular psycopg2 DictCursor with dict* methods."""
@@ -93,7 +66,6 @@ except ImportError:
# use psycopg 1
try:
from psycopg import connect as _pgconnect
- from psycopg import QuotedString
except ImportError:
print "Please install psycopg2 module"
sys.exit(1)