diff rhodecode/controllers/summary.py @ 1249:13b507b73190 beta

fixes issue #166, made clone-uri use the pylons build in url generators, that way it's more safe.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 12 Apr 2011 19:48:02 +0200
parents 0eceb478c720
children d750315134aa
line wrap: on
line diff
--- a/rhodecode/controllers/summary.py	Tue Apr 12 01:30:00 2011 +0200
+++ b/rhodecode/controllers/summary.py	Tue Apr 12 19:48:02 2011 +0200
@@ -70,7 +70,7 @@
                                                 self.rhodecode_user.user_id)
 
         def url_generator(**kw):
-            return url('shortlog_home', repo_name=repo_name, **kw)
+            return url('shortlog_home', repo_name=repo_name, size=10, **kw)
 
         c.repo_changesets = RepoPage(c.rhodecode_repo, page=1,
                                      items_per_page=10, url=url_generator)
@@ -83,13 +83,18 @@
             username = str(self.rhodecode_user.username)
             password = '@'
 
-        uri = u'%(proto)s://%(user)s%(pass)s%(host)s%(prefix)s/%(repo_name)s' \
-                                    % {'proto': e.get('wsgi.url_scheme'),
-                                       'user': username,
-                                       'pass': password,
-                                       'host': e.get('HTTP_HOST'),
-                                       'prefix': e.get('SCRIPT_NAME'),
-                                       'repo_name': repo_name, }
+        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]}
         c.clone_repo_url = uri
         c.repo_tags = OrderedDict()
         for name, hash in c.rhodecode_repo.tags.items()[:10]:
@@ -133,8 +138,8 @@
             c.commit_data = stats.commit_activity
             c.overview_data = stats.commit_activity_combined
 
-            lang_stats = [(x, {"count":y,
-                               "desc":LANGUAGES_EXTENSIONS_MAP.get(x)})
+            lang_stats = [(x, {"count": y,
+                               "desc": LANGUAGES_EXTENSIONS_MAP.get(x)})
                           for x, y in lang_stats.items()]
             print lang_stats