I have some code to autogenerate some boilerplate code so that I don't
need to do the tedious setup stuff when I want to create a new module.

So, my script prompts the user for the module name, then opens two
files and those files each get the contents of one of these functions:

def GetPyContents(module):
        boilerplate = \
"""
class %s:
        pass
        
if __name__ == '__main__':
        import unittest
        unittest.main('%s_t')
"""
        
        return boilerplate % ((module,) * 2)
        
def GetTestContents(module):
        boilerplate = \
"""from %s import *
import unittest

class Test%s(unittest.TestCase):
        def testConstruction(self):
                self.failUnless(%s())
                
        def testWriteMoreTests(self):
                self.fail('This test should fail.')
                
if __name__ == '__main__':
        unittest.main()
"""

        return boilerplate % ((module,) * 3)

My question is, I don't like hardcoding the number of times that the
module name should be repeated in the two return functions.  Is there
an straight forward (inline-appropriate) way to count the number of
'%s'es in the 'boilerplate' strings?  ...or maybe a different and more
Pythonic way to do this?  (Maybe I could somehow use generators?)

thx.
-tom!
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to