mercurial/hgweb/webutil.py
changeset 18392 88a37b19dc0e
parent 18391 833eb34e90e4
child 18403 bfaee31a83d2
equal deleted inserted replaced
18391:833eb34e90e4 18392:88a37b19dc0e
    26 
    26 
    27 def _navseq(step, firststep=None):
    27 def _navseq(step, firststep=None):
    28     if firststep:
    28     if firststep:
    29         yield firststep
    29         yield firststep
    30         if firststep >= 20 and firststep <= 40:
    30         if firststep >= 20 and firststep <= 40:
    31             yield 50
    31             firststep = 50
    32         step *= 10
    32             yield firststep
       
    33         assert step > 0
       
    34         assert firststep > 0
       
    35         while step <= firststep:
       
    36             step *= 10
    33     while True:
    37     while True:
    34         yield 1 * step
    38         yield 1 * step
    35         yield 3 * step
    39         yield 3 * step
    36         step *= 10
    40         step *= 10
    37 
    41 
    51     """
    55     """
    52 
    56 
    53     navbefore = []
    57     navbefore = []
    54     navafter = []
    58     navafter = []
    55 
    59 
    56     last = 0
       
    57     for f in _navseq(1, pagelen):
    60     for f in _navseq(1, pagelen):
    58         if f < pagelen or f <= last:
       
    59             continue
       
    60         if f > limit:
    61         if f > limit:
    61             break
    62             break
    62         last = f
       
    63         if pos + f < limit:
    63         if pos + f < limit:
    64             navafter.append(("+%d" % f, hex(nodefunc(pos + f).node())))
    64             navafter.append(("+%d" % f, hex(nodefunc(pos + f).node())))
    65         if pos - f >= 0:
    65         if pos - f >= 0:
    66             navbefore.insert(0, ("-%d" % f, hex(nodefunc(pos - f).node())))
    66             navbefore.insert(0, ("-%d" % f, hex(nodefunc(pos - f).node())))
    67 
    67