Mercurial > kallithea
diff rhodecode/controllers/summary.py @ 1652:8384eaabeb19 beta
configurable clone url
- posibility to specify ssh:// manually as alternative clone url.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 03 Nov 2011 03:00:53 +0200 |
parents | e886f91fcb71 |
children | 4a28aff31a15 |
line wrap: on
line diff
--- a/rhodecode/controllers/summary.py Thu Nov 03 02:52:38 2011 +0200 +++ b/rhodecode/controllers/summary.py Thu Nov 03 03:00:53 2011 +0200 @@ -29,11 +29,12 @@ from time import mktime from datetime import timedelta, date from itertools import product +from urlparse import urlparse from vcs.exceptions import ChangesetError, EmptyRepositoryError, \ NodeDoesNotExistError -from pylons import tmpl_context as c, request, url +from pylons import tmpl_context as c, request, url, config from pylons.i18n.translation import _ from beaker.cache import cache_region, region_invalidate @@ -79,25 +80,26 @@ items_per_page=10, url=url_generator) if self.rhodecode_user.username == 'default': - #for default(anonymous) user we don't need to pass credentials + # for default(anonymous) user we don't need to pass credentials username = '' password = '' else: username = str(self.rhodecode_user.username) password = '@' - if e.get('wsgi.url_scheme') == 'https': - split_s = 'https://' - else: - split_s = 'http://' - - qualified_uri = [split_s] + [url.current(qualified=True)\ - .split(split_s)[-1]] - uri = u'%(proto)s%(user)s%(pass)s%(rest)s' \ - % {'user': username, - 'pass': password, - 'proto': qualified_uri[0], - 'rest': qualified_uri[1]} + parsed_url = urlparse(url.current(qualified=True)) + + default_clone_uri = '{scheme}://{user}{pass}{netloc}{path}' + + uri_tmpl = config.get('clone_uri',default_clone_uri) + uri_tmpl = uri_tmpl.replace('{','%(').replace('}',')s') + + uri = uri_tmpl % {'user': username, + 'pass': password, + 'scheme': parsed_url.scheme, + 'netloc':parsed_url.netloc, + 'path':parsed_url.path} + c.clone_repo_url = uri c.repo_tags = OrderedDict() for name, hash in c.rhodecode_repo.tags.items()[:10]: