Thank you Bill. I will take a look. This is very interesting and probably we should have something like this but to clarify, you use the term plugin in a very different context than I do. I may be wrong but what you call a plugin is what I would call a driver. This may be the cause of our apparent different opinion on some issues.
Massimo On Jan 26, 2:53 pm, billf <billferr...@blueyonder.co.uk> wrote: > I have created a new branch on launchpad under ~billferrett/web2py/ > plugins. The purpose is to demo an approach to using plugins to > provide functionality to the web2py core. > > I needed an example area to apply the idea to so I have taken sql.py > and moved all the db-engine specific code (and some general SQL code) > replacing it with calls to the selected plugin class. > > The plugins are found in plugins/db. There is one "abstract" class > that acts as a template for "db" plugins and contains common > functions. There is one plugin file/class for each db-engine. > > On startup, sql.py looks for plugins in the plugins/db folder, > ignoring any containing IS_ABSTRACT=True and asking each plugin to > check that required drivers are present. This information is > formatted so that widget.start() displays it in place of the normal > "Database drivers found". > > When a SQLDB is created, the appropriate plugin is selected depending > on the uri. This can be overridden if required. The modified sql.py > then calls to the plugin to perform the necessary functions (get > dialect values, connect, create table, insert, update, delete, etc). > > I have moved as much of the actual SQL to the plugins as was > practicable for the demo. All the plugin code is complete but only > the basic functionality for sqlite and mysql has been tested (create > table, insert, update, delete). > > As I say, this is intended as a demo of an approach that I think could > be useful. I hope that some of you will have the time to look at it > and I look forward to your comments. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---