No title Revision 3dc095112a8a (Tue Dec 16 2008 at 17:09) - Diff Link to this snippet: https://friendpaste.com/4Nd8x5PwTW0B9uNSFHM5V Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647_tables = []for name in TABLES_NAMES: # table exec '%s = Table(name, metadata, autoload=True, autoload_with=engine)' % name exec 'table = %s' % name # mapper with props properties = dict([(f.split('_', 1)[1].lower(), getattr(table.c, f)) \ for f in table.c.keys()]) mapper_name = ''.join([s.title() for s in name.split('_')[2:]]) doc = "Mapper for table %s with properties:\n" % name for k, v in properties.items(): doc += '\n- `%s`: %r\n' % (k, v) exec '%s = type("%s", (BaseMapper,), {"__doc__":doc})' % ( mapper_name, mapper_name) _tables.append((mapper_name, name, properties)) # native mapper properties = {} mapper_name = ''.join([s.title() for s in name.split('_')]) doc = "Mapper for table %s with properties:" % name for k, v in properties.items(): doc += '\n- `%s`: %r' % (k, v) exec '%s = type("%s", (BaseMapper,), {"__doc__":doc})' % ( mapper_name, mapper_name) _tables.append((mapper_name, name, properties)) print >> sphinx_doc, '.. autoclass:: '+name print >> sphinx_doc, ''# define specific properties to append to mappersTABLES_PROPERTIES = {}for mapper_name, name, properties in _tables: # mappers log.debug('orm.mapper(%s, %s, properties=%s)', mapper_name, name, properties) exec 'orm.mapper(%s, %s, properties=properties)' % ( mapper_name, name) print >> sphinx_doc, '.. autoclass:: '+mapper_name print >> sphinx_doc, '' __all.append(mapper_name)