Changeset - 37945c6a7dbd
[Not reviewed]
beta
0 1 0
Marcin Kuzminski - 14 years ago 2012-05-09 21:17:51
marcin@python-works.com
don't use db-repo instance on readme file fetching, use regular scm get_repo that doesn't hide exceptions
1 file changed with 8 insertions and 4 deletions:
0 comments (0 inline, 0 general)
rhodecode/controllers/summary.py
Show inline comments
 
@@ -179,10 +179,12 @@ class SummaryController(BaseRepoControll
 
        if c.enable_downloads:
 
            c.download_options = self._get_download_links(c.rhodecode_repo)
 

	
 
        c.readme_data, c.readme_file = self.__get_readme_data(c.rhodecode_db_repo)
 
        c.readme_data, c.readme_file = self.__get_readme_data(
 
            c.rhodecode_db_repo.repo_name, c.rhodecode_repo
 
        )
 
        return render('summary/summary.html')
 

	
 
    def __get_readme_data(self, repo):
 
    def __get_readme_data(self, repo_name, repo):
 

	
 
        @cache_region('long_term')
 
        def _get_readme_from_cache(key):
 
@@ -190,9 +192,10 @@ class SummaryController(BaseRepoControll
 
            readme_file = None
 
            log.debug('Fetching readme file')
 
            try:
 
                cs = repo.get_changeset() # fetches TIP
 
                cs = repo.get_changeset()  # fetches TIP
 
                renderer = MarkupRenderer()
 
                for f in README_FILES:
 
                    print f
 
                    try:
 
                        readme = cs.get_node(f)
 
                        readme_file = f
 
@@ -202,6 +205,7 @@ class SummaryController(BaseRepoControll
 
                    except NodeDoesNotExistError:
 
                        continue
 
            except ChangesetError:
 
                log.error(traceback.format_exc())
 
                pass
 
            except EmptyRepositoryError:
 
                pass
 
@@ -210,7 +214,7 @@ class SummaryController(BaseRepoControll
 

	
 
            return readme_data, readme_file
 

	
 
        key = repo.repo_name + '_README'
 
        key = repo_name + '_README'
 
        inv = CacheInvalidation.invalidate(key)
 
        if inv is not None:
 
            region_invalidate(_get_readme_from_cache, None, key)
0 comments (0 inline, 0 general)