[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/appserver/src/language Object.py
From: |
Johannes Vetter |
Subject: |
gnue/appserver/src/language Object.py |
Date: |
Thu, 16 Jan 2003 07:16:03 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Johannes Vetter <address@hidden> 03/01/16 07:16:03
Modified files:
appserver/src/language: Object.py
Log message:
Added basic support of object modifications.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/language/Object.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: gnue/appserver/src/language/Object.py
diff -c gnue/appserver/src/language/Object.py:1.1
gnue/appserver/src/language/Object.py:1.2
*** gnue/appserver/src/language/Object.py:1.1 Tue Jan 14 09:40:49 2003
--- gnue/appserver/src/language/Object.py Thu Jan 16 07:16:03 2003
***************
*** 19,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: Object.py,v 1.1 2003/01/14 14:40:49 jvetter Exp $
def newObject (server, sessionId, classname, objData=None):
--- 19,27 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: Object.py,v 1.2 2003/01/16 12:16:03 jvetter Exp $
!
! import sys
def newObject (server, sessionId, classname, objData=None):
***************
*** 56,64 ****
def __getattr__ (self, attr):
if not self._cache.has_key (attr):
try:
! res = self._server.load (self._session_id, self._class,
! [self.objectId], [attr]) [0]
! self._cache[attr] = res[attr]
except:
raise AttributeError, attr
--- 58,69 ----
def __getattr__ (self, attr):
if not self._cache.has_key (attr):
try:
! if self._attrIsValid (attr):
! res = self._server.load (self._session_id, self._class,
! [self.objectId], [attr]) [0]
! self._cache[attr] = res[attr]
! else:
! raise AttributeError, attr
except:
raise AttributeError, attr
***************
*** 73,79 ****
if self.__dict__.has_key (attr):
self.__dict__[attr] = value
else:
! # if attr is an invalid property __getattr__ will raise an exception
! self.__getattr__ (attr)
self._cache[attr] = value
--- 78,122 ----
if self.__dict__.has_key (attr):
self.__dict__[attr] = value
else:
! if not self._attrIsValid (attr):
! raise AttributeError, attr
!
self._cache[attr] = value
+
+ def __call__ (self, method):
+ pass
+ # -------------------------------------------------------------------------
+ # Check if 'attr' is a valid attribute of this class
+ # -------------------------------------------------------------------------
+ def _attrIsValid (self, attr):
+ # TODO: ask the class repository for the attribute
+ # meanwhile we suppose all attributes are valid
+ return 1
+
+
+
+ # -------------------------------------------------------------------------
+ # Store this instance
+ # -------------------------------------------------------------------------
+ def store (self):
+ data = []
+ prop = []
+
+ # make sure the property-list and the data-list have the same order
+ for key in self._cache.keys ():
+ if key == '_id_':
+ continue
+ prop.append (key)
+ data.append (self._cache[key])
+
+ res = self._server.store (self._session_id, self._class, [self.objectId],
+ prop, [data])
+ self.objectId = res[0]
+
+ # -------------------------------------------------------------------------
+ # Delete instance and clear object-id
+ # -------------------------------------------------------------------------
+ def delete (self):
+ self._server.delete (self._session_id, self._class, [self.objectId])
+ self.objectId = None
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/appserver/src/language Object.py,
Johannes Vetter <=