Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb/webcommands.py @ 10247:e8c7410371e0
hgweb: add less/more links for search logs (issue1972)
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Thu, 14 Jan 2010 16:42:10 +0100 |
parents | b9d02695bde4 |
children | d6512b3e9ac0 |
comparison
equal
deleted
inserted
replaced
10246:b9d02695bde4 | 10247:e8c7410371e0 |
---|---|
96 try: | 96 try: |
97 return manifest(web, req, tmpl) | 97 return manifest(web, req, tmpl) |
98 except ErrorResponse: | 98 except ErrorResponse: |
99 raise inst | 99 raise inst |
100 | 100 |
101 def _search(web, tmpl, query): | 101 def _search(web, req, tmpl): |
102 | |
103 query = req.form['rev'][0] | |
104 revcount = web.maxchanges | |
105 if 'revcount' in req.form: | |
106 revcount = int(req.form.get('revcount', [revcount])[0]) | |
107 tmpl.defaults['sessionvars']['revcount'] = revcount | |
108 | |
109 lessvars = copy.copy(tmpl.defaults['sessionvars']) | |
110 lessvars['revcount'] = revcount / 2 | |
111 lessvars['rev'] = query | |
112 morevars = copy.copy(tmpl.defaults['sessionvars']) | |
113 morevars['revcount'] = revcount * 2 | |
114 morevars['rev'] = query | |
102 | 115 |
103 def changelist(**map): | 116 def changelist(**map): |
104 cl = web.repo.changelog | 117 cl = web.repo.changelog |
105 count = 0 | 118 count = 0 |
106 qw = query.lower().split() | 119 qw = query.lower().split() |
144 node=hex(n), | 157 node=hex(n), |
145 tags=webutil.nodetagsdict(web.repo, n), | 158 tags=webutil.nodetagsdict(web.repo, n), |
146 inbranch=webutil.nodeinbranch(web.repo, ctx), | 159 inbranch=webutil.nodeinbranch(web.repo, ctx), |
147 branches=webutil.nodebranchdict(web.repo, ctx)) | 160 branches=webutil.nodebranchdict(web.repo, ctx)) |
148 | 161 |
149 if count >= web.maxchanges: | 162 if count >= revcount: |
150 break | 163 break |
151 | 164 |
152 cl = web.repo.changelog | 165 cl = web.repo.changelog |
153 parity = paritygen(web.stripecount) | 166 parity = paritygen(web.stripecount) |
154 | 167 |
155 return tmpl('search', | 168 return tmpl('search', query=query, node=hex(cl.tip()), |
156 query=query, | 169 entries=changelist, archives=web.archivelist("tip"), |
157 node=hex(cl.tip()), | 170 morevars=morevars, lessvars=lessvars) |
158 entries=changelist, | 171 |
159 archives=web.archivelist("tip")) | 172 def changelog(web, req, tmpl, shortlog=False): |
160 | 173 |
161 def changelog(web, req, tmpl, shortlog = False): | |
162 if 'node' in req.form: | 174 if 'node' in req.form: |
163 ctx = webutil.changectx(web.repo, req) | 175 ctx = webutil.changectx(web.repo, req) |
164 else: | 176 else: |
165 if 'rev' in req.form: | 177 if 'rev' in req.form: |
166 hi = req.form['rev'][0] | 178 hi = req.form['rev'][0] |
167 else: | 179 else: |
168 hi = len(web.repo) - 1 | 180 hi = len(web.repo) - 1 |
169 try: | 181 try: |
170 ctx = web.repo[hi] | 182 ctx = web.repo[hi] |
171 except error.RepoError: | 183 except error.RepoError: |
172 return _search(web, tmpl, hi) # XXX redirect to 404 page? | 184 return _search(web, req, tmpl) # XXX redirect to 404 page? |
173 | 185 |
174 def changelist(limit=0, **map): | 186 def changelist(limit=0, **map): |
175 l = [] # build a list in forward order for efficiency | 187 l = [] # build a list in forward order for efficiency |
176 for i in xrange(start, end): | 188 for i in xrange(start, end): |
177 ctx = web.repo[i] | 189 ctx = web.repo[i] |