Browse Source

Moved askForObjectFieldsByString into the proper class

M. Ian Graham 17 years ago
parent
commit
321c3a4be1
1 changed files with 15 additions and 0 deletions
  1. 15 0
      direct/src/distributed/AsyncRequest.py

+ 15 - 0
direct/src/distributed/AsyncRequest.py

@@ -115,6 +115,21 @@ class AsyncRequest(DirectObject):
         self.air.queryObjectFields(dclassName, fieldNames, doId, context)
         self._resetTimeoutTask()
 
+    def askForObjectFieldsByString(self, dbId, dclassName, objString, fieldNames, key=None, context=None):
+        assert AsyncRequest.notify.debugCall()
+        assert dbId
+        if key is None:
+            # default the dictionary key to the fieldNames
+            key = fieldNames
+        if context is None:
+            context=self.air.allocateContext()
+        self.air.contextToClassName[context]=dclassName
+        self.acceptOnce(
+            "doFieldResponse-%s"%(context,),
+            self._checkCompletion, [key])
+        self.air.queryObjectStringFields(dbId,dclassName,objString,fieldNames,context)
+        self._resetTimeoutTask()
+
     def askForObject(self, doId, context = None):
         """
         Request an already created object, i.e. read from database.