/// 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
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---