smores.utils
get_module_schemas
get_module_schemas(module_)
Returns list of all classes found in the module_
Arguments:
module_ (module): where to find schemas
Returns:
list: schemas found in module_
loop_table_rows
loop_table_rows(iterable_tags, template_string)
A template preprocessing function that enables a special way of iterating over values in a list of objects. It searches for table cells with particular tags and wraps the table row (and subsequent rows if they also contain the tags) with a jinja for loop using the iterator, iterable tuple from 'iterable_tags' Example:
Arguments:
iterable_tags (dict): mapping of
template_string (str): jinja template string
Returns:
string: transformed template string
Example:
iterable_tags = {
    "mydogs.*": ("mydogs", "user.dogs")
}
input = '''
    <table>
        <tr>
            <td>{mydogs.name}</td>
        </tr>
        <tr>
            <td>{mydogs.weight}</td>
        </tr>
    </table>
'''
>>> smores.utils.loop_table_rows(input)
<table>
    {% for mydogs in user.dogs %}
        <tr>
            <td>{mydogs.name}</td>
        </tr>
        <tr>
            <td>{mydogs.weight}</td>
        </tr>
    {% endfor %}
</table>