Dieter Maurer wrote:
Thanks! This is exactly what I would like to do in the end. The code above was just a first attempt to get started.Jørgen Frøjk Kjærsgaard wrote at 2005-7-1 23:28 +0200:I need to be able to access a Postgresql database directly from Zope Python scripts (Z SQL Methods is not an option as the SQL code occurs in modules that must be re-usable in a non-Zope context). ... import psycopg dbcon = psycopg.connect('host=%s dbname=%s user=%s' % ('dbhost', 'dbname', 'username'))You should *NOT* do this because you move outside of Zope's transaction handling.Fetch the connection from the DA. It looks somehow like: db = DA() # low level connection object db._register() # register with Zope's transaction system conn = db.db # this is the "psycopg" connection Pass the "conn" into your code.
Good to know :-)... When run outside Zope, it opens a connection as expected. When run in Zope, however, I get "thrown out" - the browser asks me to enter my user name and password again. I get no error message!Cancel the login dialog and you will get the error message :-)
I didn't read the Zope book very carefully on that point - I have been using Python mod_python for years but am new to "advanced" Zope programming.Does Zope somehow create a restricted environmentPythonScripts are a restricted environment where "import" is restricted as well as access to attributes.
Another question: When I define an external method to process form data, I have to do it like this:
def process_form_data(self, name, address, zip, ...):
What I would like to do is:
def process_form_data(self, **args):
so that I don't have to alter the argument list if I add or remove fields. However, args always comes out empty, presumeably because Zope inspects the argument list and passes only those arguments that have a matching name in the list. Is there any way to tell Zope to pass "the rest" in **args?
-- med venlig hilsen / regards Jørgen Frøjk Kjærsgaard Systemudvikler Metation ApS systemudvikling * hosting * IT rådgivning
_______________________________________________ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db