On Wed, 2001-10-31 at 09:26, Shane O'Sullivan wrote:
hi all, I am currently working on a python script that is called from a dtml method. It performs some logic and then calls another dtml method. I am passing 2 parameters into the python script, "hidden_photo" and "photo_name"..my python script looks like this...
if photo_name == ' ': if hidden_photo == ' ': return context.scReport(context) elif hidden_photo == 'None': return context.scReport(context) else: return context.Thumbnails.deletePhoto(context) return context.scReport(context) elif photo_name =='None': return context.scReport(context) else: return context.Thumbnails.photoAction(context) return context.scReport(context)
The methods photoAction and deletePhoto need to be passed the parameters "hidden_photo" and "photo_name" - however it dosn't seem to be getting them properly- this is the error message Error Type: NameError Error Value: global name 'photo_name' is not defined
Can anyone tell me how properly to pass parameters from python to dtml objects?
Thanks in advance, Shane
first, get acquainted with www.zopelabs.com which has all sorts of user submitted recipes. second (from http://www.zopelabs.com/cookbook/992031125 ) the proper way to call dtml from python scripts is: dtmlMethod(context, context.REQUEST) # or if _ is bound to the (Script) Python in the bindings tab dtmlMethod(context, _) third if you pass keyword arguments to a dtml method they will be available for use in the dtml method. so you should call your dtml with context..ThumbNails.deletePhoto(context, context.REQUEST, hidden_photo=hidden_photo, photo_name=photo_name) HTH -- Tom Jenkins Development InfoStructure http://www.devis.com