1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

cdx: clean up closest, reverse ops

closest takes precedence over reverse
'reverse closest' not supported, add test to reflect that
This commit is contained in:
Ilya Kreymer 2014-03-06 16:11:46 -08:00
parent c42a96386f
commit 7b5cbaa878
2 changed files with 15 additions and 7 deletions

View File

@ -54,17 +54,17 @@ def process_cdx(cdx_iter, query):
if collapse_time:
cdx_iter = cdx_collapse_time_status(cdx_iter, collapse_time)
limit = query.limit
reverse = query.reverse
if reverse:
cdx_iter = cdx_reverse(cdx_iter, limit)
closest = query.closest
reverse = query.reverse
limit = query.limit
if closest:
cdx_iter = cdx_sort_closest(closest, cdx_iter, limit)
if limit and not reverse:
elif reverse:
cdx_iter = cdx_reverse(cdx_iter, limit)
elif limit:
cdx_iter = cdx_limit(cdx_iter, limit)
return cdx_iter

View File

@ -96,6 +96,14 @@ org,iana)/_css/2013.1/screen.css 20140126201054 http://www.iana.org/_css/2013.1/
20140126200654
20140126200625
# In case of both reverse and closest, closest takes precedence
# 'reverse closest' not supported at this time
# if it is, this test will reflect the change
>>> cdx_ops_test(closest = '20140126200826', url = 'http://iana.org/_css/2013.1/fonts/opensans-bold.ttf', fields = 'timestamp', limit = 3, reverse = True)
20140126200826
20140126200816
20140126200805
>>> cdx_ops_test(closest = '20140126201306', url = 'http://iana.org/dnssec', resolveRevisits = True, sources = [test_cdx_dir + 'dupes.cdx', test_cdx_dir + 'iana.cdx'])
org,iana)/dnssec 20140126201306 http://www.iana.org/dnssec text/html 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 442 772827 iana.warc.gz - - -
org,iana)/dnssec 20140126201307 https://www.iana.org/dnssec text/html 200 PHLRSX73EV3WSZRFXMWDO6BRKTVUSASI - - 2278 773766 iana.warc.gz - - -