Not a problem, I didn't take it as criticism. The tables currently exist in the database, but at anytime a new table can be added to the database that contains the same structure as all the other tables im interested in here.
The existing application is a syslog application that pulls data from SNMP and fills these tables with data. At anytime it can create a new table based on new SNMP captures, meaning new a new client comes on board. I am building a script that queries every single table in the database and grabs information based on a specific SNMP level, in my case anything "critical" within the last couple hours, grab it and send an email alert to a specific recipient. I want to loop through each table, make the necessary queries and send an email based on the results. I was hoping, to make it easier i could query the database and grab all the tables and make classes out of them during runtime. Does this make sense? On 1/26/07, Ian Wilson <[EMAIL PROTECTED]> wrote: > > > Sorry earlier I wasn't critisizing your design I know how it is to try > and match other system designs. It sucks. But I am kind of confused > still on what actually needs to happen. Do the tables exist in the > database and you just need matching sqlobject classes? Or do you need > both to create the tables in the database and get a representative > sqlobject class ? > > -Ian > > On 1/25/07, Lee Connell <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > The reason I am doing this is because I have multiple tables in my > database > > that have all the same fields and I want to be able to add tables to my > > script at anytime. These tables hold information about new > clients. The DB > > design was not mine and it's how it works for a syslog application we > are > > using. > > > > I want to be able to run through all of these tables and query > information > > and send emails based on the data pulled. Since each table is going to > be > > accessed the same way I just want to loop through each table/sqlobject > > class, query data and send an email. > > > > Is there an easier way to do this? > > > > -----Original Message----- > > From: [email protected] [mailto:[EMAIL PROTECTED] > On > > Behalf Of Ian Wilson > > Sent: Thursday, January 25, 2007 8:18 PM > > To: [email protected] > > Subject: [TurboGears] Re: help with sqlobject classes at runtime > > > > > > I am confused on why or what you are doing but try this: > > > > Set the default to empty for level 2 and you won't get that error: > > > > level2 = StringCol(default='') > > > > > > > > On 1/25/07, Lee Connell <[EMAIL PROTECTED]> wrote: > > > > > > /// ERROR (if I don't override __init__ in my sqlobject class)/// > > > ///////////////////////////////////////////////////////////////// > > > c = help.classFromModule('__main__', 'SyslogPoll2')() > > > File > > > > > "C:\Python24\lib\site-packages\sqlobject- > 0.7.2-py2.4.egg\sqlobject\declarati > > > ve.py", line 93, in _wrapper > > > return fn(self, *args, **kwargs) > > > File > > > > > "C:\Python24\lib\site-packages\sqlobject- > 0.7.2-py2.4.egg\sqlobject\main.py", > > > line 1203, in __init__ > > > self._create(id, **kw) > > > File > > > > > "C:\Python24\lib\site-packages\sqlobject- > 0.7.2-py2.4.egg\sqlobject\main.py", > > > line 1222, in _create > > > raise TypeError, "%s() did not get expected keyword argument %s" % > > > (self.__class__.__name__, column.name) > > > TypeError: SyslogPoll2() did not get expected keyword argument level2 > > > > > > > > > > > > /// Calling Code /// > > > //////////////////// > > > class SyslogPoll2(SQLObject): > > > class sqlmeta: > > > table = "SyslogPoll" > > > > > > level2 = StringCol() > > > > > > help = DBHelper() > > > c = help.classFromModule('__main__', 'SyslogPoll2')() > > > > > > > > > > > > /// Helper Code /// > > > /////////////////// > > > class DBHelper: > > > def classFromModule (self, module, className): > > > mod = __import__ (module) > > > return getattr (mod, className) > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > From: [email protected] [mailto:[EMAIL PROTECTED] > On > > > Behalf Of Patrick Lewis > > > Sent: Tuesday, January 23, 2007 12:58 AM > > > To: TurboGears > > > Subject: [TurboGears] Re: help with sqlobject classes at runtime > > > > > > > > > Not quite sure what the real problem you are facing is, but if all you > > > want to do is call the 'send' method without instantiating your class, > > > can you use the @staticmethod (or perhaps @classmethod) decorator? > > > e.g. > > > > > > class SyslogPoll2(SQLObject): > > > > > > @staticmethod > > > def send(data): > > > print data > > > > > > I don't think you want to be overriding sqlobject's __init__ > > > (http://www.sqlobject.org/SQLObject.html#initializing-the-objects), > > > apparently that is Very Bad. > > > > > > If you want to do some introspection of the class to know what the > > > class needs to initialize, you should be able to get everything you > > > need out of SyslogPoll2.sqlmeta.columns attribute. > > > > > > > > > > > > -- > > > No virus found in this incoming message. > > > Checked by AVG Free Edition. > > > Version: 7.5.432 / Virus Database: 268.17.8/648 - Release Date: > 1/23/2007 > > > 11:04 AM > > > > > > > > > -- > > > No virus found in this outgoing message. > > > Checked by AVG Free Edition. > > > Version: 7.5.432 / Virus Database: 268.17.11/652 - Release Date: > 1/25/2007 > > > 3:32 PM > > > > > > > > > > > > > > > > > > > > > > -- > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.5.432 / Virus Database: 268.17.11/652 - Release Date: > 1/25/2007 > > 3:32 PM > > > > > > -- > > No virus found in this outgoing message. > > Checked by AVG Free Edition. > > Version: 7.5.432 / Virus Database: 268.17.11/652 - Release Date: > 1/25/2007 > > 3:32 PM > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears?hl=en -~----------~----~----~----~------~----~------~--~---

