[Zope-dev] SQL-Methods Through-the-FileSystem

2000-11-26 Thread Johan Carlsson


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

2000-11-26 Thread Ender

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

2000-11-26 Thread Johan Carlsson

 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 )