Mercurial > kallithea
comparison pylons_app/controllers/hg.py @ 6:2620dac853ad
added autoconfig loading
author | Marcin Kuzminski |
---|---|
date | Thu, 18 Feb 2010 14:51:26 +0100 |
parents | ad0dd3904225 |
children | 3092016c6d0c |
comparison
equal
deleted
inserted
replaced
5:ad0dd3904225 | 6:2620dac853ad |
---|---|
12 from mercurial.hgweb.request import wsgiapplication | 12 from mercurial.hgweb.request import wsgiapplication |
13 log = logging.getLogger(__name__) | 13 log = logging.getLogger(__name__) |
14 | 14 |
15 from mercurial import ui, hg | 15 from mercurial import ui, hg |
16 from mercurial.error import RepoError | 16 from mercurial.error import RepoError |
17 | 17 from ConfigParser import ConfigParser |
18 #http://bel-epa.com/hg/ | 18 #http://bel-epa.com/hg/ |
19 #def make_web_app(): | 19 #def make_web_app(): |
20 # repos = "hgwebdir.config" | 20 # repos = "hgwebdir.config" |
21 # hgwebapp = hgwebdir(repos) | 21 # hgwebapp = hgwebdir(repos) |
22 # return hgwebapp | 22 # return hgwebapp |
44 return ['<html>\n<body>\nHello World!\n</body>\n</html>'] | 44 return ['<html>\n<body>\nHello World!\n</body>\n</html>'] |
45 | 45 |
46 class HgController(BaseController): | 46 class HgController(BaseController): |
47 | 47 |
48 def _check_repo(self, repo_name): | 48 def _check_repo(self, repo_name): |
49 repos_path = '/home/marcink/python_workspace' | 49 |
50 p = os.path.dirname(__file__) | |
51 config_path = os.path.join(p, '../..', 'hgwebdir.config') | |
52 print config_path | |
53 | |
54 cp = ConfigParser() | |
55 | |
56 cp.read(config_path) | |
57 repos_path = cp.get('paths', '/').replace("**", '') | |
58 | |
59 if not repos_path: | |
60 raise Exception('Could not read config !') | |
61 | |
50 self.repo_path = os.path.join(repos_path, repo_name) | 62 self.repo_path = os.path.join(repos_path, repo_name) |
51 | 63 |
52 try: | 64 try: |
53 r = hg.repository(ui.ui(), self.repo_path) | 65 r = hg.repository(ui.ui(), self.repo_path) |
54 hg.verify(r) | 66 hg.verify(r) |
64 def _create_repo(self, repo_name): | 76 def _create_repo(self, repo_name): |
65 if repo_name in [None, '', 'add']: | 77 if repo_name in [None, '', 'add']: |
66 raise Exception('undefined repo_name of repo') | 78 raise Exception('undefined repo_name of repo') |
67 | 79 |
68 if self._check_repo(repo_name): | 80 if self._check_repo(repo_name): |
69 log.info('creating repo %s', repo_name) | 81 log.info('creating repo %s in %s', repo_name, self.repo_path) |
70 cmd = """mkdir %s && hg init %s""" \ | 82 cmd = """mkdir %s && hg init %s""" \ |
71 % (self.repo_path, self.repo_path) | 83 % (self.repo_path, self.repo_path) |
72 os.popen(cmd) | 84 os.popen(cmd) |
73 | 85 |
74 | 86 |