Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb.py @ 515:03f27b1381f9
Whitespace cleanups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Whitespace cleanups
manifest hash: ac954bc3a4f034c12638a259ecd65841f5b63c5c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwuubywK+sNU5EO8RAluIAJ98XQpNdZUpSmYKgDmrMRlbL76ZzQCfes0t
rknNUN/PhtyA4bzL646dOz4=
=UyCE
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Wed, 29 Jun 2005 10:42:35 -0800 |
parents | 5f65a108a559 |
children | b8404005d6d5 eda4c32c167a |
comparison
equal
deleted
inserted
replaced
514:874e577e332e | 515:03f27b1381f9 |
---|---|
74 | 74 |
75 fl = m.group(2) | 75 fl = m.group(2) |
76 if fl: | 76 if fl: |
77 for f in fl.split("|")[1:]: | 77 for f in fl.split("|")[1:]: |
78 v = filters[f](v) | 78 v = filters[f](v) |
79 | 79 |
80 yield v | 80 yield v |
81 tmpl = tmpl[m.end(0):] | 81 tmpl = tmpl[m.end(0):] |
82 else: | 82 else: |
83 yield tmpl | 83 yield tmpl |
84 return | 84 return |
87 def __init__(self, mapfile, filters = {}): | 87 def __init__(self, mapfile, filters = {}): |
88 self.cache = {} | 88 self.cache = {} |
89 self.map = {} | 89 self.map = {} |
90 self.base = os.path.dirname(mapfile) | 90 self.base = os.path.dirname(mapfile) |
91 self.filters = filters | 91 self.filters = filters |
92 | 92 |
93 for l in file(mapfile): | 93 for l in file(mapfile): |
94 m = re.match(r'(\S+)\s*=\s*"(.*)"$', l) | 94 m = re.match(r'(\S+)\s*=\s*"(.*)"$', l) |
95 if m: | 95 if m: |
96 self.cache[m.group(1)] = m.group(2) | 96 self.cache[m.group(1)] = m.group(2) |
97 else: | 97 else: |
105 try: | 105 try: |
106 tmpl = self.cache[t] | 106 tmpl = self.cache[t] |
107 except KeyError: | 107 except KeyError: |
108 tmpl = self.cache[t] = file(self.map[t]).read() | 108 tmpl = self.cache[t] = file(self.map[t]).read() |
109 return template(tmpl, self.filters, **map) | 109 return template(tmpl, self.filters, **map) |
110 | 110 |
111 class hgweb: | 111 class hgweb: |
112 maxchanges = 10 | 112 maxchanges = 10 |
113 maxfiles = 10 | 113 maxfiles = 10 |
114 | 114 |
115 def __init__(self, path, name, templates = ""): | 115 def __init__(self, path, name, templates = ""): |
156 yield self.t(t1, node = node, rev = rev, **args) | 156 yield self.t(t1, node = node, rev = rev, **args) |
157 | 157 |
158 def diff(self, node1, node2, files): | 158 def diff(self, node1, node2, files): |
159 def filterfiles(list, files): | 159 def filterfiles(list, files): |
160 l = [ x for x in list if x in files ] | 160 l = [ x for x in list if x in files ] |
161 | 161 |
162 for f in files: | 162 for f in files: |
163 if f[-1] != os.sep: f += os.sep | 163 if f[-1] != os.sep: f += os.sep |
164 l += [ x for x in list if x.startswith(f) ] | 164 l += [ x for x in list if x.startswith(f) ] |
165 return l | 165 return l |
166 | 166 |
170 lines = prettyprintlines(diff), | 170 lines = prettyprintlines(diff), |
171 parity = parity[0], | 171 parity = parity[0], |
172 file = f, | 172 file = f, |
173 filenode = hex(fn or nullid)) | 173 filenode = hex(fn or nullid)) |
174 parity[0] = 1 - parity[0] | 174 parity[0] = 1 - parity[0] |
175 | 175 |
176 def prettyprintlines(diff): | 176 def prettyprintlines(diff): |
177 for l in diff.splitlines(1): | 177 for l in diff.splitlines(1): |
178 if l.startswith('+'): | 178 if l.startswith('+'): |
179 yield self.t("difflineplus", line = l) | 179 yield self.t("difflineplus", line = l) |
180 elif l.startswith('-'): | 180 elif l.startswith('-'): |
232 r = "%d" % f | 232 r = "%d" % f |
233 if pos + f < count: l.append(("+" + r, pos + f)) | 233 if pos + f < count: l.append(("+" + r, pos + f)) |
234 if pos - f >= 0: l.insert(0, ("-" + r, pos - f)) | 234 if pos - f >= 0: l.insert(0, ("-" + r, pos - f)) |
235 | 235 |
236 yield self.t("naventry", rev = 0, label="(0)") | 236 yield self.t("naventry", rev = 0, label="(0)") |
237 | 237 |
238 for label, rev in l: | 238 for label, rev in l: |
239 yield self.t("naventry", label = label, rev = rev) | 239 yield self.t("naventry", label = label, rev = rev) |
240 | 240 |
241 yield self.t("naventry", label="tip") | 241 yield self.t("naventry", label="tip") |
242 | 242 |
291 cl = self.repo.changelog | 291 cl = self.repo.changelog |
292 changes = cl.read(n) | 292 changes = cl.read(n) |
293 p1, p2 = cl.parents(n) | 293 p1, p2 = cl.parents(n) |
294 p1rev, p2rev = cl.rev(p1), cl.rev(p2) | 294 p1rev, p2rev = cl.rev(p1), cl.rev(p2) |
295 t = float(changes[2].split(' ')[0]) | 295 t = float(changes[2].split(' ')[0]) |
296 | 296 |
297 files = [] | 297 files = [] |
298 mf = self.repo.manifest.read(changes[0]) | 298 mf = self.repo.manifest.read(changes[0]) |
299 for f in changes[3]: | 299 for f in changes[3]: |
300 files.append(self.t("filenodelink", | 300 files.append(self.t("filenodelink", |
301 filenode = hex(mf.get(f, nullid)), file = f)) | 301 filenode = hex(mf.get(f, nullid)), file = f)) |
328 count = fl.count() | 328 count = fl.count() |
329 | 329 |
330 def entries(): | 330 def entries(): |
331 l = [] | 331 l = [] |
332 parity = (count - 1) & 1 | 332 parity = (count - 1) & 1 |
333 | 333 |
334 for i in range(count): | 334 for i in range(count): |
335 | 335 |
336 n = fl.node(i) | 336 n = fl.node(i) |
337 lr = fl.linkrev(n) | 337 lr = fl.linkrev(n) |
338 cn = cl.node(lr) | 338 cn = cl.node(lr) |
421 for r, l in fl.annotate(n): | 421 for r, l in fl.annotate(n): |
422 try: | 422 try: |
423 cnode = ncache[r] | 423 cnode = ncache[r] |
424 except KeyError: | 424 except KeyError: |
425 cnode = ncache[r] = self.repo.changelog.node(r) | 425 cnode = ncache[r] = self.repo.changelog.node(r) |
426 | 426 |
427 try: | 427 try: |
428 name = bcache[r] | 428 name = bcache[r] |
429 except KeyError: | 429 except KeyError: |
430 cl = self.repo.changelog.read(cnode) | 430 cl = self.repo.changelog.read(cnode) |
431 name = cl[1] | 431 name = cl[1] |
472 rev = self.repo.manifest.rev(bin(mnode)) | 472 rev = self.repo.manifest.rev(bin(mnode)) |
473 node = self.repo.changelog.node(rev) | 473 node = self.repo.changelog.node(rev) |
474 mff=self.repo.manifest.readflags(bin(mnode)) | 474 mff=self.repo.manifest.readflags(bin(mnode)) |
475 | 475 |
476 files = {} | 476 files = {} |
477 | 477 |
478 p = path[1:] | 478 p = path[1:] |
479 l = len(p) | 479 l = len(p) |
480 | 480 |
481 for f,n in mf.items(): | 481 for f,n in mf.items(): |
482 if f[:l] != p: | 482 if f[:l] != p: |
499 yield self.t("manifestfileentry", | 499 yield self.t("manifestfileentry", |
500 file = full, | 500 file = full, |
501 manifest = mnode, | 501 manifest = mnode, |
502 filenode = hex(fnode), | 502 filenode = hex(fnode), |
503 parity = parity, | 503 parity = parity, |
504 basename = f, | 504 basename = f, |
505 permissions = mff[full]) | 505 permissions = mff[full]) |
506 else: | 506 else: |
507 yield self.t("manifestdirentry", | 507 yield self.t("manifestdirentry", |
508 parity = parity, | 508 parity = parity, |
509 path = os.path.join(path, f), | 509 path = os.path.join(path, f), |
548 n = bin(changeset) | 548 n = bin(changeset) |
549 cl = self.repo.changelog | 549 cl = self.repo.changelog |
550 p1 = cl.parents(n)[0] | 550 p1 = cl.parents(n)[0] |
551 cs = cl.read(n) | 551 cs = cl.read(n) |
552 mf = self.repo.manifest.read(cs[0]) | 552 mf = self.repo.manifest.read(cs[0]) |
553 | 553 |
554 def diff(): | 554 def diff(): |
555 yield self.diff(p1, n, file) | 555 yield self.diff(p1, n, file) |
556 | 556 |
557 yield self.t("filediff", | 557 yield self.t("filediff", |
558 header = self.header(), | 558 header = self.header(), |
563 node = changeset, | 563 node = changeset, |
564 rev = self.repo.changelog.rev(n), | 564 rev = self.repo.changelog.rev(n), |
565 p1 = hex(p1), | 565 p1 = hex(p1), |
566 p1rev = self.repo.changelog.rev(p1), | 566 p1rev = self.repo.changelog.rev(p1), |
567 diff = diff) | 567 diff = diff) |
568 | 568 |
569 # add tags to things | 569 # add tags to things |
570 # tags -> list of changesets corresponding to tags | 570 # tags -> list of changesets corresponding to tags |
571 # find tag, changeset, file | 571 # find tag, changeset, file |
572 | 572 |
573 def run(self): | 573 def run(self): |
577 m = os.path.join(self.templates, "map") | 577 m = os.path.join(self.templates, "map") |
578 if args.has_key('style'): | 578 if args.has_key('style'): |
579 b = os.path.basename("map-" + args['style'][0]) | 579 b = os.path.basename("map-" + args['style'][0]) |
580 p = os.path.join(self.templates, b) | 580 p = os.path.join(self.templates, b) |
581 if os.path.isfile(p): m = p | 581 if os.path.isfile(p): m = p |
582 | 582 |
583 self.t = templater(m, self.filters) | 583 self.t = templater(m, self.filters) |
584 | 584 |
585 if not args.has_key('cmd') or args['cmd'][0] == 'changelog': | 585 if not args.has_key('cmd') or args['cmd'][0] == 'changelog': |
586 hi = self.repo.changelog.count() - 1 | 586 hi = self.repo.changelog.count() - 1 |
587 if args.has_key('rev'): | 587 if args.has_key('rev'): |
589 try: | 589 try: |
590 hi = self.repo.changelog.rev(self.repo.lookup(hi)) | 590 hi = self.repo.changelog.rev(self.repo.lookup(hi)) |
591 except KeyError: pass | 591 except KeyError: pass |
592 | 592 |
593 write(self.changelog(hi)) | 593 write(self.changelog(hi)) |
594 | 594 |
595 elif args['cmd'][0] == 'changeset': | 595 elif args['cmd'][0] == 'changeset': |
596 write(self.changeset(args['node'][0])) | 596 write(self.changeset(args['node'][0])) |
597 | 597 |
598 elif args['cmd'][0] == 'manifest': | 598 elif args['cmd'][0] == 'manifest': |
599 write(self.manifest(args['manifest'][0], args['path'][0])) | 599 write(self.manifest(args['manifest'][0], args['path'][0])) |
672 query = "" | 672 query = "" |
673 p = self.path.find("?") | 673 p = self.path.find("?") |
674 if p: | 674 if p: |
675 query = self.path[p + 1:] | 675 query = self.path[p + 1:] |
676 query = query.replace('+', ' ') | 676 query = query.replace('+', ' ') |
677 | 677 |
678 env = {} | 678 env = {} |
679 env['GATEWAY_INTERFACE'] = 'CGI/1.1' | 679 env['GATEWAY_INTERFACE'] = 'CGI/1.1' |
680 env['REQUEST_METHOD'] = self.command | 680 env['REQUEST_METHOD'] = self.command |
681 if query: | 681 if query: |
682 env['QUERY_STRING'] = query | 682 env['QUERY_STRING'] = query |