This is the setup: **childLookup (python method):** branches = context.childBranchesLookup(BranchParent = parentBranch) tags = context.childTagsLookup(BranchName = parentBranch) #these above are ZSQL results... result = context.createNodeObj(branchResult = branches, tagResult = tags) return result **createNodeObj (external method, calling createNodeObj):** class _dummy: def __init__(self, name): self.name=name def createNodeObj(branchResult, tagResult): c = [] for branch in branchResult.dictionaries(): c.append(_dummy(branch["BranchName"])) for tag in tagResult.dictionaries(): c.append(_dummy(tag["CVSTagNo"])) return c So the idea is to call childLookup, which passes ZSQL results on to createNodeObj, and createNodeObj generates a list of objects and returns it. I know, I know I could've done it with an external method only...I only learnt that too late. Now I can't work with the resulting list of objects in Zope! for instance: <dtml-in expr="childLookup(parentBranch = 'Main')"> <dtml-var name> </dtml-in> results in: 'Authorization failed. Retry? ' popup in my browser. Then cancelling I get the following trace: Zope Error Zope has encountered an error while publishing this resource. Unauthorized Sorry, a Zope error occurred. Traceback (innermost last): File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/OFS/DTMLDocument.py, line 189, in __call__ (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/DocumentTemplate/DT_In.py, line 711, in renderwob (Object: childLookup(parentBranch = 'Main')) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/OFS/DTMLMethod.py, line 261, in validate (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/AccessControl/SecurityManager.py, line 144, in validate File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/AccessControl/ZopeSecurityPolicy.py, line 168, in validate Unauthorized: name So can't I return a list of objects from an external method? How will one then get the example of dtml-tree with external methods shown in http://www.zope.org/Members/anthony/tree-coding-tricks to work? Thanks!
So, have you tried proxying the dtml object as manager to see if the authorization problem goes away? On Tue, Jun 05, 2001 at 04:32:56PM +0200, Gerrie Roos wrote:
This is the setup:
**childLookup (python method):**
branches = context.childBranchesLookup(BranchParent = parentBranch) tags = context.childTagsLookup(BranchName = parentBranch) #these above are ZSQL results...
result = context.createNodeObj(branchResult = branches, tagResult = tags)
return result
**createNodeObj (external method, calling createNodeObj):**
class _dummy: def __init__(self, name): self.name=name
def createNodeObj(branchResult, tagResult): c = [] for branch in branchResult.dictionaries(): c.append(_dummy(branch["BranchName"])) for tag in tagResult.dictionaries(): c.append(_dummy(tag["CVSTagNo"])) return c
So the idea is to call childLookup, which passes ZSQL results on to createNodeObj, and createNodeObj generates a list of objects and returns it. I know, I know I could've done it with an external method only...I only learnt that too late. Now I can't work with the resulting list of objects in Zope!
for instance:
<dtml-in expr="childLookup(parentBranch = 'Main')"> <dtml-var name> </dtml-in>
results in:
'Authorization failed. Retry? ' popup in my browser. Then cancelling I get the following trace:
Zope Error
Zope has encountered an error while publishing this resource.
Unauthorized
Sorry, a Zope error occurred.
Traceback (innermost last): File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/OFS/DTMLDocument.py, line 189, in __call__ (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/DocumentTemplate/DT_In.py, line 711, in renderwob (Object: childLookup(parentBranch = 'Main')) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/OFS/DTMLMethod.py, line 261, in validate (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/AccessControl/SecurityManager.py, line 144, in validate File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/AccessControl/ZopeSecurityPolicy.py, line 168, in validate Unauthorized: name
So can't I return a list of objects from an external method?
How will one then get the example of dtml-tree with external methods shown in http://www.zope.org/Members/anthony/tree-coding-tricks to work?
Thanks!
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-- ------------------------------------------------------ Andres Corrada-Emmanuel Email: andres@corrada.com Internet Programming http://www.mamey.com ------------------------------------------------------
Yes, I have. I suppose you talk about the dtml document calling <dtml-in expr="childLookup(parentBranch = 'Main')"> It makes no difference. I'm doing all testing as a manager. It seems I have to return an object of a type Zope already knows, something like Results objects returned by ZSQLMethods...but to be honest, I haven't completely figured out how to create my own Results object and it seems a bit of a roundabout way of doing it... andres@corrada.com wrote:
So, have you tried proxying the dtml object as manager to see if the authorization problem goes away?
On Tue, Jun 05, 2001 at 04:32:56PM +0200, Gerrie Roos wrote:
This is the setup:
**childLookup (python method):**
branches = context.childBranchesLookup(BranchParent = parentBranch) tags = context.childTagsLookup(BranchName = parentBranch) #these above are ZSQL results...
result = context.createNodeObj(branchResult = branches, tagResult = tags)
return result
**createNodeObj (external method, calling createNodeObj):**
class _dummy: def __init__(self, name): self.name=name
def createNodeObj(branchResult, tagResult): c = [] for branch in branchResult.dictionaries(): c.append(_dummy(branch["BranchName"])) for tag in tagResult.dictionaries(): c.append(_dummy(tag["CVSTagNo"])) return c
So the idea is to call childLookup, which passes ZSQL results on to createNodeObj, and createNodeObj generates a list of objects and returns it. I know, I know I could've done it with an external method only...I only learnt that too late. Now I can't work with the resulting list of objects in Zope!
for instance:
<dtml-in expr="childLookup(parentBranch = 'Main')"> <dtml-var name> </dtml-in>
results in:
'Authorization failed. Retry? ' popup in my browser. Then cancelling I get the following trace:
Zope Error
Zope has encountered an error while publishing this resource.
Unauthorized
Sorry, a Zope error occurred.
Traceback (innermost last): File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 222, in publish_module File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/OFS/DTMLDocument.py, line 189, in __call__ (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/DocumentTemplate/DT_In.py, line 711, in renderwob (Object: childLookup(parentBranch = 'Main')) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/OFS/DTMLMethod.py, line 261, in validate (Object: test_index_html) File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/AccessControl/SecurityManager.py, line 144, in validate File /usr2/GnatsPkg/src/Zope-2.3.0-src/lib/python/AccessControl/ZopeSecurityPolicy.py, line 168, in validate Unauthorized: name
So can't I return a list of objects from an external method?
How will one then get the example of dtml-tree with external methods shown in http://www.zope.org/Members/anthony/tree-coding-tricks to work?
Thanks!
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-- ------------------------------------------------------ Andres Corrada-Emmanuel Email: andres@corrada.com Internet Programming http://www.mamey.com ------------------------------------------------------
Hello, I have the following problem. My Zope sits on a Linux machine in a small network with several NT installations. I need to access some Clipper files that reside on one of the NT machines. No odbc for the rescue. Any ideas from the gurus how to accomplish this? Thanks, - Otto Pichlhoefer mailto:orp@aon.at _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
You might take I look at Codebase from Sequitor. Apparently they have made available a python interface. Try http://www.codebase.com/search/ HTH, David Otto Pichlhoefer wrote:
Hello,
I have the following problem. My Zope sits on a Linux machine in a small network with several NT installations. I need to access some Clipper files that reside on one of the NT machines.
No odbc for the rescue. Any ideas from the gurus how to accomplish this?
Thanks,
- Otto Pichlhoefer mailto:orp@aon.at
_________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
participants (4)
-
andresï¼ corrada.com -
David Hassalevris -
Gerrie Roos -
Otto Pichlhoefer