extensions: address ast deprecations introduced in Python 3.12
Tests would fail with:
.../mercurial/extensions.py:910: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
if isinstance(a, ast.Str):
.../mercurial/extensions.py:912: DeprecationWarning: ast.Bytes is deprecated and will be removed in Python 3.14; use ast.Constant instead
elif isinstance(a, ast.Bytes):
.../mercurial/extensions.py:913: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead
name = a.s
{header}
<title>Mercurial repositories index</title>
</head>
<body>
<div id="container">
<div class="page-header">
<h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h1>
<ul class="page-nav">
</ul>
</div>
<table cellspacing="0">
<tr>
<td><a href="?sort={sort_name}">Name</a></td>
<td><a href="?sort={sort_description}">Description</a></td>
<td><a href="?sort={sort_contact}">Contact</a></td>
<td><a href="?sort={sort_lastchange}">Last modified</a></td>
<td> </td>
<td> </td>
</tr>
{entries%indexentry}
</table>
<div class="page-footer">
{motd}
</div>
<div id="powered-by">
<p><a href="{logourl}" title="Mercurial"><img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a></p>
</div>
</div>
</body>
</html>