Update of /cvsroot/sqlobject/SQLObject/SQLObject
In directory sc8-pr-cvs1:/tmp/cvs-serv28706
Modified Files:
SQLObject.py
Log Message:
Fixed up single-value __getitem__ access to SelectResults
Index: SQLObject.py
===================================================================
RCS file: /cvsroot/sqlobject/SQLObject/SQLObject/SQLObject.py,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -d -r1.47 -r1.48
*** SQLObject.py 10 Jul 2003 19:16:07 -0000 1.47
--- SQLObject.py 17 Jul 2003 01:23:57 -0000 1.48
***************
*** 1033,1036 ****
--- 1033,1040 ----
# No need to copy, I'm immutable
return self
+
+ # Negative indexes aren't handled (and everything we
+ # don't handle ourselves we just create a list to
+ # handle)
if (value.start and value.start < 0) \
or (value.stop and value.stop < 0):
***************
*** 1040,1049 ****
return list(self)[value.start:]
return list(self)[:value.stop]
if value.start:
! assert value.start >= 0, "Negative index not supported (%s)" % value.start
start = self.ops.get('start', 0) + value.start
if value.stop is not None:
! assert value.stop >= 0, "Negative indexes not supported (%s)" % value.stop
if value.stop < value.start:
end = start
else:
--- 1044,1056 ----
return list(self)[value.start:]
return list(self)[:value.stop]
+
+
if value.start:
! assert value.start >= 0
start = self.ops.get('start', 0) + value.start
if value.stop is not None:
! assert value.stop >= 0
if value.stop < value.start:
+ # an empty result:
end = start
else:
***************
*** 1051,1054 ****
--- 1058,1062 ----
if self.ops.get('end', None) is not None \
and value['end'] < end:
+ # truncated by previous slice:
end = self.ops['end']
else:
***************
*** 1065,1069 ****
return list(iter(self))[value]
else:
! return list(self.clone(start=value, stop=value+1))[0]
def __iter__(self):
--- 1073,1078 ----
return list(iter(self))[value]
else:
! start = self.ops.get('start', 0) + value
! return list(self.clone(start=start, end=start+1))[0]
def __iter__(self):
|