Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/hgweb/hgweb_mod.py @ 2509:6350b01d173f
merge with wsgi changes.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Tue, 27 Jun 2006 00:10:41 -0700 |
parents | d0db3462d568 b73552a00b20 |
children | 419c42223bee |
comparison
equal
deleted
inserted
replaced
2508:ab460a3f0e3a | 2509:6350b01d173f |
---|---|
47 self.maxchanges = int(self.repo.ui.config("web", "maxchanges", 10)) | 47 self.maxchanges = int(self.repo.ui.config("web", "maxchanges", 10)) |
48 self.maxfiles = int(self.repo.ui.config("web", "maxfiles", 10)) | 48 self.maxfiles = int(self.repo.ui.config("web", "maxfiles", 10)) |
49 self.allowpull = self.repo.ui.configbool("web", "allowpull", True) | 49 self.allowpull = self.repo.ui.configbool("web", "allowpull", True) |
50 | 50 |
51 def archivelist(self, nodeid): | 51 def archivelist(self, nodeid): |
52 allowed = (self.repo.ui.config("web", "allow_archive", "") | 52 allowed = self.repo.ui.configlist("web", "allow_archive") |
53 .replace(",", " ").split()) | |
54 for i in self.archives: | 53 for i in self.archives: |
55 if i in allowed or self.repo.ui.configbool("web", "allow" + i): | 54 if i in allowed or self.repo.ui.configbool("web", "allow" + i): |
56 yield {"type" : i, "node" : nodeid, "url": ""} | 55 yield {"type" : i, "node" : nodeid, "url": ""} |
57 | 56 |
58 def listfiles(self, files, mf): | 57 def listfiles(self, files, mf): |
814 req.write(z.flush()) | 813 req.write(z.flush()) |
815 | 814 |
816 def do_archive(self, req): | 815 def do_archive(self, req): |
817 changeset = self.repo.lookup(req.form['node'][0]) | 816 changeset = self.repo.lookup(req.form['node'][0]) |
818 type_ = req.form['type'][0] | 817 type_ = req.form['type'][0] |
819 allowed = self.repo.ui.config("web", "allow_archive", "").split() | 818 allowed = self.repo.ui.configlist("web", "allow_archive") |
820 if (type_ in self.archives and (type_ in allowed or | 819 if (type_ in self.archives and (type_ in allowed or |
821 self.repo.ui.configbool("web", "allow" + type_, False))): | 820 self.repo.ui.configbool("web", "allow" + type_, False))): |
822 self.archive(req, changeset, type_) | 821 self.archive(req, changeset, type_) |
823 return | 822 return |
824 | 823 |
842 return true if op allowed, else false. | 841 return true if op allowed, else false. |
843 default is policy to use if no config given.''' | 842 default is policy to use if no config given.''' |
844 | 843 |
845 user = req.env.get('REMOTE_USER') | 844 user = req.env.get('REMOTE_USER') |
846 | 845 |
847 deny = self.repo.ui.config('web', 'deny_' + op, '') | 846 deny = self.repo.ui.configlist('web', 'deny_' + op) |
848 deny = deny.replace(',', ' ').split() | |
849 | |
850 if deny and (not user or deny == ['*'] or user in deny): | 847 if deny and (not user or deny == ['*'] or user in deny): |
851 return False | 848 return False |
852 | 849 |
853 allow = self.repo.ui.config('web', 'allow_' + op, '') | 850 allow = self.repo.ui.configlist('web', 'allow_' + op) |
854 allow = allow.replace(',', ' ').split() | |
855 | |
856 return (allow and (allow == ['*'] or user in allow)) or default | 851 return (allow and (allow == ['*'] or user in allow)) or default |
857 | 852 |
858 def do_unbundle(self, req): | 853 def do_unbundle(self, req): |
859 def bail(response, headers={}): | 854 def bail(response, headers={}): |
860 length = int(req.env['CONTENT_LENGTH']) | 855 length = int(req.env['CONTENT_LENGTH']) |