Alternative review pages which shouldn't shift when new test-URLs are added. Old review URLs still work, but withouth guarantee against shifting when new test-URLs are added.
- Legacy-Id: 600
This commit is contained in:
parent
09c0829127
commit
71429f59aa
|
@ -37,8 +37,8 @@ urlpatterns = patterns('',
|
|||
# Uncomment this for review pages:
|
||||
(r'^review/$', 'ietf.utils.views.review'),
|
||||
(r'^review/all/$', 'ietf.utils.views.all'),
|
||||
(r'^review/(?P<page>[0-9]+)/$', 'ietf.utils.views.review'),
|
||||
(r'^review/top/(?P<page>[0-9]+)/$', 'ietf.utils.views.top'),
|
||||
(r'^review/(?P<page>[0-9a-f]+)/$', 'ietf.utils.views.review'),
|
||||
(r'^review/top/(?P<page>[0-9a-f]+)/$', 'ietf.utils.views.top'),
|
||||
|
||||
)
|
||||
|
||||
|
|
|
@ -1,31 +1,50 @@
|
|||
from django.shortcuts import render_to_response as render
|
||||
import time
|
||||
|
||||
testurls = []
|
||||
urlcount = 0
|
||||
hash2url = {}
|
||||
num2hash = {}
|
||||
hash2num = {}
|
||||
host = "merlot.tools.ietf.org:31415"
|
||||
|
||||
def get_info(page):
|
||||
global testurls
|
||||
global hash2url
|
||||
global num2hash
|
||||
global hash2num
|
||||
global urlcount
|
||||
if not testurls:
|
||||
from ietf.tests import get_testurls
|
||||
testurls = [ tuple for tuple in get_testurls() if tuple[2] and "200" in tuple[0] ]
|
||||
urlcount = len(testurls)
|
||||
num2hash = dict([ (i, "%x"% (testurls[i][1].__hash__() +0x80000000)) for i in range(urlcount)])
|
||||
hash2url = dict([ (num2hash[i], testurls[i][1]) for i in range(urlcount)])
|
||||
hash2num = dict([ (num2hash[num], num) for num in num2hash ])
|
||||
|
||||
info = {}
|
||||
page = int(page)
|
||||
if not page in range(urlcount):
|
||||
page = 0
|
||||
info["next"] = (page + 1) % urlcount
|
||||
info["this"] = page
|
||||
info["prev"] = (page - 1 + urlcount) % urlcount
|
||||
info["new"] = "http://%s/%s" % (host, testurls[page][1][1:])
|
||||
info["old"] = testurls[page][2]
|
||||
try:
|
||||
page = int(page)
|
||||
except:
|
||||
pass
|
||||
if page in num2hash:
|
||||
page = num2hash[page]
|
||||
if not page in hash2url:
|
||||
page = num2hash[0]
|
||||
hash = page
|
||||
assert(hash not in num2hash)
|
||||
num = hash2num[hash]
|
||||
info["next"] = num2hash[ (num + 1) % urlcount ]
|
||||
info["this"] = hash
|
||||
info["prev"] = num2hash[ (num - 1 + urlcount) % urlcount ]
|
||||
info["new"] = "http://%s/%s" % (host, testurls[num][1][1:])
|
||||
info["old"] = testurls[num][2]
|
||||
return info
|
||||
|
||||
def review(request, page=0, panes=None):
|
||||
return render("utils/frame2.html", {"info": get_info(page) })
|
||||
|
||||
def top(request, page=None):
|
||||
def top(request, page=0):
|
||||
return render("utils/review.html", {"info": get_info(page) })
|
||||
|
||||
def all(request):
|
||||
|
@ -33,7 +52,7 @@ def all(request):
|
|||
info = []
|
||||
for i in range(urlcount):
|
||||
item = {}
|
||||
item["num"] = i
|
||||
item["num"] = num2hash[i]
|
||||
item["new"] = testurls[i][1]
|
||||
item["old"] = testurls[i][2]
|
||||
info.append(item)
|
||||
|
|
Loading…
Reference in a new issue