[Piglit] [PATCH] framework/summary/html: Prevent forward slashes in URLs.
Brian Paul
brianp at vmware.com
Thu Jun 12 08:50:09 PDT 2014
Just to be clear, I think forward slash is / while backward slash is \.
-Brian
On 06/12/2014 06:22 AM, jfonseca at vmware.com wrote:
> From: José Fonseca <jfonseca at vmware.com>
>
> It's fine for URLs to have forward slash directory separators when viewing
> the HTML on Windows. But if one moves the HTML report to a Linux machine
> or puts it on a web-server and accesses it from a Linux machine then URLs
> with forward slashes become dead.
>
> This change prevents this be replacing \ with /.
"by"
>
> (There might be an easier way to achieve this than to have so many
> instances of foo.replace('\\', '/'). For example, it might be easier to
> do this replacement when loading the results. On the other hand,
> there are several places that use os.path, so it might not solve the
> issue completely neither.)
> ---
> framework/summary.py | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/framework/summary.py b/framework/summary.py
> index 7e8d480..e5eb156 100644
> --- a/framework/summary.py
> +++ b/framework/summary.py
> @@ -22,6 +22,7 @@
> from __future__ import print_function
> import os
> import os.path as path
> +import posixpath
> import itertools
> import shutil
> import collections
> @@ -46,6 +47,11 @@ def escape_filename(key):
> return re.sub(r'[<>:"|?*]', '_', key)
>
>
> +def normalize_href(href):
> + """Force backward slashes in URLs."""
> + return href.replace('\\', '/')
> +
> +
> class HTMLIndex(list):
> """
> Builds HTML output to be passed to the index mako template, which will be
> @@ -107,12 +113,13 @@ class HTMLIndex(list):
> self._newRow()
> self.append({'type': 'other', 'text': '<td />'})
> for each in summary.results:
> + href = posixpath.join(each.name, "index.html")
> + href = normalize_href(href)
> self.append({'type': 'other',
> 'text': '<td class="head"><b>%(name)s</b><br />'
> '(<a href="%(href)s">info</a>)'
> '</td>' % {'name': each.name,
> - 'href': path.join(each.name,
> - "index.html")}})
> + 'href': href}})
> self._endRow()
>
> # Add the toplevel 'all' group
> @@ -247,7 +254,8 @@ class HTMLIndex(list):
> href = None
> else:
> css = text
> - href = path.join(group, href + ".html")
> + href = posixpath.join(group, href + ".html")
> + href = normalize_href(href)
>
> self.append({'type': 'testResult',
> 'class': css,
>
More information about the Piglit
mailing list