[Zope-dev] SQL-Methods Through-the-FileSystem
Hi all, Does anybody have a good suggestion how to develope SQL Method ftfs (through the filesystem) rather than ttw. Perferably in someway similare to the HTMLFile way to include DTML methods in Zope classes. Regards, Johan (One problem I recently discovered was the fact that SQl methods makes "hardlinks" to SQL connection when changed. So if I move the SQL connection to some other place in the aq-path I need to update the methods. This make it hard because the SQL method seems to point to the right connection but it doesn't, in other words been very confusing for users.) torped johan carlsson birkagatan 9 113 36 stockholm [EMAIL PROTECTED] www.torped.se voice +46-(0)-8-32 31 23 mobil +46-(0)-70-558 25 24 workshop västmannagatan 67 ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] SQL-Methods Through-the-FileSystem
Johan Carlsson wrote: Seb: Does anybody have a good suggestion how to develope SQL Method ftfs (through the filesystem) rather than ttw. Perferably in someway similare to the HTMLFile way try something like this: from Products.ZSQLMethods.SQL import SQL import PoPy def manage_add_user(self,email,password): conn = 'PoPy_database_connection' self.sql_add_user=SQL('sql_add_user', '', conn, 'email password', _sql_add_user) _sql_add_user = """ insert into tbl_users(email,password) values ( dtml-sqlvar email type=string, dtml-sqlvar password type=string ) """ Hi Seb, I guess I could skip putting it in a method and create the SQL instance as a attribute of the class (that I currently would be working on)? yes Why do I need to import the database module? sql methods are bound to database connections, you could instantiate one without, but than you wouldn't be able to use it. Couldn't I just try to locate/create a DA when my class is instantiated? you could, the search routine in /lib/python/Products/ZSQLMethods/SQL.py is a good starting point Would it be poor design to create a DA connection as an attribute of the class? Or would it be perferd to create it in the __init__ as a instance attribute? do you really want to create a new db connection for every instance of your class? kapil ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] SQL-Methods Through-the-FileSystem
Johan Carlsson wrote: Seb: Does anybody have a good suggestion how to develope SQL Method ftfs (through the filesystem) rather than ttw. Perferably in someway similare to the HTMLFile way try something like this: from Products.ZSQLMethods.SQL import SQL import PoPy def manage_add_user(self,email,password): conn = 'PoPy_database_connection' self.sql_add_user=SQL('sql_add_user', '', conn, 'email password', _sql_add_user) _sql_add_user = """ insert into tbl_users(email,password) values ( dtml-sqlvar email type=string, dtml-sqlvar password type=string ) """ Hi Seb, I guess I could skip putting it in a method and create the SQL instance as a attribute of the class (that I currently would be working on)? yes Why do I need to import the database module? sql methods are bound to database connections, you could instantiate one without, but than you wouldn't be able to use it. What I mean is that if I acquired the DA connection, the import would be unnecessary? Couldn't I just try to locate/create a DA when my class is instantiated? you could, the search routine in /lib/python/Products/ZSQLMethods/SQL.py is a good starting point Yes, I know, for ones I turned to zope-dev before diving into the source ;-) Would it be poor design to create a DA connection as an attribute of the class? Or would it be perferd to create it in the __init__ as a instance attribute? do you really want to create a new db connection for every instance of your class? I might, if each instance should connect to its own database. For instance I could have different databases (with different user identities) for different customers sharing the same host machine. Thanks Seb and Ender, I really got a head start. Johan ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )