##// END OF EJS Templates
hgweb: simplify the handling of empty repo...
Pierre-Yves David -
r18406:20cf5393 default
parent child Browse files
Show More
@@ -48,6 +48,14 b' class revnav(object):'
48 """
48 """
49 self.nodefunc = nodefunc
49 self.nodefunc = nodefunc
50
50
51 def __nonzero__(self):
52 """return True if any revision to navigate over"""
53 try:
54 self.nodefunc(0)
55 return True
56 except error.RepoError:
57 return False
58
51 def hex(self, rev):
59 def hex(self, rev):
52 return self.nodefunc(rev).hex()
60 return self.nodefunc(rev).hex()
53
61
@@ -64,6 +72,9 b' class revnav(object):'
64 - values are generator functions taking arbitrary number of kwargs
72 - values are generator functions taking arbitrary number of kwargs
65 - yield items are dictionaries with `label` and `node` keys
73 - yield items are dictionaries with `label` and `node` keys
66 """
74 """
75 if not self:
76 # empty repo
77 return ({'before': (), 'after': ()},)
67
78
68 navbefore = []
79 navbefore = []
69 navafter = []
80 navafter = []
@@ -77,10 +88,7 b' class revnav(object):'
77 navbefore.insert(0, ("-%d" % f, self.hex(pos - f)))
88 navbefore.insert(0, ("-%d" % f, self.hex(pos - f)))
78
89
79 navafter.append(("tip", "tip"))
90 navafter.append(("tip", "tip"))
80 try:
91 navbefore.insert(0, ("(0)", self.hex(0)))
81 navbefore.insert(0, ("(0)", self.hex(0)))
82 except error.RepoError:
83 pass
84
92
85 data = lambda i: {"label": i[0], "node": i[1]}
93 data = lambda i: {"label": i[0], "node": i[1]}
86 return ({'before': lambda **map: (data(i) for i in navbefore),
94 return ({'before': lambda **map: (data(i) for i in navbefore),
General Comments 0
You need to be logged in to leave comments. Login now