cubicweb/pyramid/debug_toolbar_templates/registry_decisions.dbtmako
author Philippe Pepiot <ph@itsalwaysdns.eu>
Tue, 31 Mar 2020 19:15:03 +0200
changeset 12957 0c973204033a
parent 12776 3cbcbaead477
permissions -rw-r--r--
[server] prevent returning closed cursor to the database pool In since c8c6ad8 init_repository use repo.internal_cnx() instead of repo.system_source.get_connection() so it use the pool and we should not close cursors from the pool before returning it back. Otherwise we may have "connection already closed" error. This bug only trigger when connection-pool-size = 1. Since we are moving to use a dynamic pooler we need to get this fixed. This does not occur with sqlite since the connection wrapper instantiate new cursor everytime, but this occur with other databases.

<%def name="render_object(obj)">
% if hasattr(obj, "__name__"):
    ${obj.__module__}.${obj.__name__}
% else:
    ${obj}
% endif
</%def>

<table class="table table-bordered table-striped">
    <tr>
        <th>Result</th>
        <th>Decision</th>
    </tr>
    <tr></tr>
% for registry_decision in registry_decisions:
    <tr>
        <td colspan="2"><b>${repr(registry_decision["key"])} -&gt; ${render_object(registry_decision["winner"])} ${source_code_url(registry_decision["winner"]) | n}</b></td>
    </tr>
    <tr>
        <td>
            <p>End score: ${registry_decision["end_score"]}</p>
            <div class="highlight-inline">args: ${highlight(registry_decision["args"], "html") | n}</div>
            <div>kwargs:
                <ul>
                % for key, value in registry_decision["kwargs"].items():
                    <li>${repr(key)}: ${repr(value)}</li>
                % endfor
                </ul>
            </div>
        </td>

        <td>
            <ul>
                % for obj in registry_decision["all_objects"]:
                <li>
                    ${obj["score"]}: ${render_object(obj["object"])} ${source_code_url(obj["object"]) | n}
                </li>
                % endfor
            </ul>
        </td>

    </tr>

% endfor
</table>
<style>
${generate_css() | n}

.highlight-inline {
    margin: 0 0 10px; /* like <p> */
}

.highlight-inline > .highlight {
    display: inline;
}

.highlight > pre {
    word-break: unset;
    border: none;
    margin: 0;
    padding: 0;
    background-color: unset;
    display: inline;
}
</style>