[Piglit] [PATCH] framework/summary/html: Prevent forward slashes in URLs.
Jose Fonseca
jfonseca at vmware.com
Fri Jun 13 08:57:38 PDT 2014
----- Original Message -----
> Just to be clear, I think forward slash is / while backward slash is \.
I googled and you're right. It's so weird: not sure if I've always mixed them up till now.
Thanks for the review.
Jose
>
> -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,
> >
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/piglit&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=d7F0eZindfxMMwypMV6MArgaliIBcdV%2Fr93UXIN5sl8%3D%0A&s=0e4d70f29d16a4f041e647c71e703e76763c0e2b8d378be7e7f90b2f4952f450
>
More information about the Piglit
mailing list