Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/hgweb.py @ 1498:78590fb4a82b
hgweb: Added archive download buttons to manifest page.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Thu, 03 Nov 2005 18:45:27 +0100 |
parents | 7d66ce9895fa |
children | a91bfbbe88d3 |
comparison
equal
deleted
inserted
replaced
1497:f0b13c019b04 | 1498:78590fb4a82b |
---|---|
194 self.repo = hg.repository(self.repo.ui, self.repo.root) | 194 self.repo = hg.repository(self.repo.ui, self.repo.root) |
195 self.maxchanges = int(self.repo.ui.config("web", "maxchanges", 10)) | 195 self.maxchanges = int(self.repo.ui.config("web", "maxchanges", 10)) |
196 self.maxfiles = int(self.repo.ui.config("web", "maxfiles", 10)) | 196 self.maxfiles = int(self.repo.ui.config("web", "maxfiles", 10)) |
197 self.allowpull = self.repo.ui.configbool("web", "allowpull", True) | 197 self.allowpull = self.repo.ui.configbool("web", "allowpull", True) |
198 | 198 |
199 def archivelist(self, nodeid): | |
200 for i in self.archives: | |
201 if self.repo.ui.configbool("web", "allow" + i, False): | |
202 yield {"type" : i, "node" : nodeid} | |
203 | |
199 def listfiles(self, files, mf): | 204 def listfiles(self, files, mf): |
200 for f in files[:self.maxfiles]: | 205 for f in files[:self.maxfiles]: |
201 yield self.t("filenodelink", node=hex(mf[f]), file=f) | 206 yield self.t("filenodelink", node=hex(mf[f]), file=f) |
202 if len(files) > self.maxfiles: | 207 if len(files) > self.maxfiles: |
203 yield self.t("fileellipses") | 208 yield self.t("fileellipses") |
412 filenode=hex(mf.get(f, nullid)), file=f)) | 417 filenode=hex(mf.get(f, nullid)), file=f)) |
413 | 418 |
414 def diff(**map): | 419 def diff(**map): |
415 yield self.diff(p1, n, None) | 420 yield self.diff(p1, n, None) |
416 | 421 |
417 def archivelist(): | |
418 for i in self.archives: | |
419 if self.repo.ui.configbool("web", "allow" + i, False): | |
420 yield {"type" : i, "node" : nodeid} | |
421 | |
422 yield self.t('changeset', | 422 yield self.t('changeset', |
423 diff=diff, | 423 diff=diff, |
424 rev=cl.rev(n), | 424 rev=cl.rev(n), |
425 node=nodeid, | 425 node=nodeid, |
426 parent=self.parents(n, cl.parents(n), cl.rev), | 426 parent=self.parents(n, cl.parents(n), cl.rev), |
428 manifest=hex(changes[0]), | 428 manifest=hex(changes[0]), |
429 author=changes[1], | 429 author=changes[1], |
430 desc=changes[4], | 430 desc=changes[4], |
431 date=changes[2], | 431 date=changes[2], |
432 files=files, | 432 files=files, |
433 archives=archivelist()) | 433 archives=self.archivelist(nodeid)) |
434 | 434 |
435 def filelog(self, f, filenode): | 435 def filelog(self, f, filenode): |
436 cl = self.repo.changelog | 436 cl = self.repo.changelog |
437 fl = self.repo.file(f) | 437 fl = self.repo.file(f) |
438 filenode = hex(fl.lookup(filenode)) | 438 filenode = hex(fl.lookup(filenode)) |
616 rev=rev, | 616 rev=rev, |
617 node=hex(node), | 617 node=hex(node), |
618 path=path, | 618 path=path, |
619 up=up(path), | 619 up=up(path), |
620 fentries=filelist, | 620 fentries=filelist, |
621 dentries=dirlist) | 621 dentries=dirlist, |
622 archives=self.archivelist(hex(node))) | |
622 | 623 |
623 def tags(self): | 624 def tags(self): |
624 cl = self.repo.changelog | 625 cl = self.repo.changelog |
625 mf = cl.read(cl.tip())[0] | 626 mf = cl.read(cl.tip())[0] |
626 | 627 |