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