def simple_list_project(self): request = self.request name = self.context.name # we only serve absolute links so we don't care about the route's slash abort_if_invalid_projectname(request, name) stage = self.context.stage if stage.get_projectname(name) is None: # we return 200 instead of !=200 so that pip/easy_install don't # ask for the full simple page although we know it doesn't exist # XXX change that when pip-6.0 is released? abort(request, 200, "no such project %r" % name) projectname = self.context.projectname try: result = stage.get_releaselinks(projectname) except stage.UpstreamError as e: threadlog.error(e.msg) abort(request, 502, e.msg) links = [] for link in result: relpath = link.entrypath href = "/" + relpath href = URL(request.path_info).relpath(href) if link.eggfragment: href += "#egg=%s" % link.eggfragment elif link.hash_spec: href += "#" + link.hash_spec links.extend([ "/".join(relpath.split("/", 2)[:2]) + " ", html.a(link.basename, href=href), html.br(), "\n", ]) title = "%s: links for %s" % (stage.name, projectname) if stage.has_pypi_base(projectname): refresh_title = "Refresh" if stage.ixconfig["type"] == "mirror" else \ "Refresh PyPI links" refresh_url = request.route_url( "/{user}/{index}/+simple/{name}/refresh", user=self.context.username, index=self.context.index, name=projectname) refresh_form = [ html.form( html.input( type="submit", value=refresh_title, name="refresh"), action=refresh_url, method="post"), "\n"] else: refresh_form = [] return Response(html.html( html.head( html.title(title)), html.body( html.h1(title), "\n", refresh_form, links)).unicode(indent=2))
def simple_list_project(self): request = self.request name = self.context.name # we only serve absolute links so we don't care about the route's slash abort_if_invalid_projectname(request, name) stage = self.context.stage projectname = stage.get_projectname(name) if projectname is None: abort(request, 200, "no such project %r" % projectname) if name != projectname: redirect("/%s/+simple/%s/" % (stage.name, projectname)) try: result = stage.get_releaselinks(projectname) except stage.UpstreamError as e: threadlog.error(e.msg) abort(request, 502, e.msg) links = [] for link in result: relpath = link.entrypath href = "/" + relpath href = URL(request.path).relpath(href) if link.eggfragment: href += "#egg=%s" % link.eggfragment elif link.md5: href += "#md5=%s" % link.md5 links.extend([ "/".join(relpath.split("/", 2)[:2]) + " ", html.a(link.basename, href=href), html.br(), "\n", ]) title = "%s: links for %s" % (stage.name, projectname) if stage.has_pypi_base(projectname): refresh_title = "Refresh" if stage.ixconfig["type"] == "mirror" else \ "Refresh PyPI links" refresh_url = request.route_url( "/{user}/{index}/+simple/{name}/refresh", user=self.context.username, index=self.context.index, name=projectname) refresh_form = [ html.form( html.input( type="submit", value=refresh_title, name="refresh"), action=refresh_url, method="post"), "\n"] else: refresh_form = [] return Response(html.html( html.head( html.title(title)), html.body( html.h1(title), "\n", refresh_form, links)).unicode(indent=2))
def simple_list_project(self): request = self.request name = self.context.name # we only serve absolute links so we don't care about the route's slash abort_if_invalid_projectname(request, name) stage = self.context.stage projectname = stage.get_projectname(name) if projectname is None: abort(request, 200, "no such project %r" % projectname) if name != projectname: redirect("/%s/+simple/%s/" % (stage.name, projectname)) try: result = stage.get_releaselinks(projectname) except stage.UpstreamError as e: threadlog.error(e.msg) abort(request, 502, e.msg) links = [] for link in result: relpath = link.entrypath href = "/" + relpath href = URL(request.path).relpath(href) if link.eggfragment: href += "#egg=%s" % link.eggfragment elif link.md5: href += "#md5=%s" % link.md5 links.extend([ "/".join(relpath.split("/", 2)[:2]) + " ", html.a(link.basename, href=href), html.br(), "\n", ]) title = "%s: links for %s" % (stage.name, projectname) if stage.has_pypi_base(projectname): refresh_title = "Refresh" if stage.ixconfig["type"] == "mirror" else \ "Refresh PyPI links" refresh_url = request.route_url( "/{user}/{index}/+simple/{name}/refresh", user=self.context.username, index=self.context.index, name=projectname) refresh_form = [ html.form(html.input(type="submit", value=refresh_title, name="refresh"), action=refresh_url, method="post"), "\n" ] else: refresh_form = [] return Response( html.html(html.head(html.title(title)), html.body(html.h1(title), "\n", refresh_form, links)).unicode(indent=2))
def generate_checkbox(self): checkbox_kwargs = {'data-test-result': self.test_result.lower()} if self.total == 0: checkbox_kwargs['disabled'] = 'true' self.checkbox = html.input(type='checkbox', checked='true', onChange='filter_table(this)', name='filter_checkbox', **checkbox_kwargs)
def generate_checkbox(self): checkbox_kwargs = {'data-test-result': self.test_result.lower()} if self.total == 0: checkbox_kwargs['disabled'] = 'true' self.checkbox = html.input(type='checkbox', checked='true', onChange='filter_table(this)', name='filter_checkbox', class_='filter', hidden='true', **checkbox_kwargs)
def generate_checkbox(self): checkbox_kwargs = {"data-test-result": self.test_result.lower()} if self.total == 0: checkbox_kwargs["disabled"] = "true" self.checkbox = html.input( type="checkbox", checked="true", onChange="filter_table(this)", name="filter_checkbox", class_="filter", hidden="true", **checkbox_kwargs, )