25 ''' |
25 ''' |
26 |
26 |
27 import socket, time, os |
27 import socket, time, os |
28 |
28 |
29 import Zeroconf |
29 import Zeroconf |
30 from mercurial import ui, hg, encoding |
30 from mercurial import ui, hg, encoding, util |
31 from mercurial import extensions |
31 from mercurial import extensions |
32 from mercurial.hgweb import hgweb_mod |
32 from mercurial.hgweb import hgweb_mod |
33 from mercurial.hgweb import hgwebdir_mod |
33 from mercurial.hgweb import hgwebdir_mod |
34 |
34 |
35 # publish |
35 # publish |
105 super(hgwebzc, self).__init__(repo, name=name, baseui=baseui) |
105 super(hgwebzc, self).__init__(repo, name=name, baseui=baseui) |
106 name = self.reponame or os.path.basename(self.repo.root) |
106 name = self.reponame or os.path.basename(self.repo.root) |
107 path = self.repo.ui.config("web", "prefix", "").strip('/') |
107 path = self.repo.ui.config("web", "prefix", "").strip('/') |
108 desc = self.repo.ui.config("web", "description", name) |
108 desc = self.repo.ui.config("web", "description", name) |
109 publish(name, desc, path, |
109 publish(name, desc, path, |
110 int(self.repo.ui.config("web", "port", 8000))) |
110 util.getport(self.repo.ui.config("web", "port", 8000))) |
111 |
111 |
112 class hgwebdirzc(hgwebdir_mod.hgwebdir): |
112 class hgwebdirzc(hgwebdir_mod.hgwebdir): |
113 def __init__(self, conf, baseui=None): |
113 def __init__(self, conf, baseui=None): |
114 super(hgwebdirzc, self).__init__(conf, baseui=baseui) |
114 super(hgwebdirzc, self).__init__(conf, baseui=baseui) |
115 prefix = self.ui.config("web", "prefix", "").strip('/') + '/' |
115 prefix = self.ui.config("web", "prefix", "").strip('/') + '/' |
117 u = self.ui.copy() |
117 u = self.ui.copy() |
118 u.readconfig(os.path.join(path, '.hg', 'hgrc')) |
118 u.readconfig(os.path.join(path, '.hg', 'hgrc')) |
119 name = os.path.basename(repo) |
119 name = os.path.basename(repo) |
120 path = (prefix + repo).strip('/') |
120 path = (prefix + repo).strip('/') |
121 desc = u.config('web', 'description', name) |
121 desc = u.config('web', 'description', name) |
122 publish(name, desc, path, int(u.config("web", "port", 8000))) |
122 publish(name, desc, path, util.getport(u.config("web", "port", 8000))) |
123 |
123 |
124 # listen |
124 # listen |
125 |
125 |
126 class listener(object): |
126 class listener(object): |
127 def __init__(self): |
127 def __init__(self): |