comparison rhodecode/controllers/summary.py @ 2326:405b1170f577 beta

fixed readme rendering bug. when there existed a directory named like dicovery file for readme, it crashed trying to read it's content. We just skip them now
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 22 May 2012 20:23:30 +0200
parents ce6b295f74ad
children 370ed7829168
comparison
equal deleted inserted replaced
2325:18d34a56a736 2326:405b1170f577
49 from rhodecode.lib.markup_renderer import MarkupRenderer 49 from rhodecode.lib.markup_renderer import MarkupRenderer
50 from rhodecode.lib.celerylib import run_task 50 from rhodecode.lib.celerylib import run_task
51 from rhodecode.lib.celerylib.tasks import get_commits_stats 51 from rhodecode.lib.celerylib.tasks import get_commits_stats
52 from rhodecode.lib.helpers import RepoPage 52 from rhodecode.lib.helpers import RepoPage
53 from rhodecode.lib.compat import json, OrderedDict 53 from rhodecode.lib.compat import json, OrderedDict
54 from rhodecode.lib.vcs.nodes import FileNode
54 55
55 log = logging.getLogger(__name__) 56 log = logging.getLogger(__name__)
56 57
57 README_FILES = [''.join([x[0][0], x[1][0]]) for x in 58 README_FILES = [''.join([x[0][0], x[1][0]]) for x in
58 sorted(list(product(ALL_READMES, ALL_EXTS)), 59 sorted(list(product(ALL_READMES, ALL_EXTS)),
195 cs = repo.get_changeset() # fetches TIP 196 cs = repo.get_changeset() # fetches TIP
196 renderer = MarkupRenderer() 197 renderer = MarkupRenderer()
197 for f in README_FILES: 198 for f in README_FILES:
198 try: 199 try:
199 readme = cs.get_node(f) 200 readme = cs.get_node(f)
201 if not isinstance(readme, FileNode):
202 continue
200 readme_file = f 203 readme_file = f
201 readme_data = renderer.render(readme.content, f) 204 readme_data = renderer.render(readme.content, f)
202 log.debug('Found readme %s' % readme_file) 205 log.debug('Found readme %s' % readme_file)
203 break 206 break
204 except NodeDoesNotExistError: 207 except NodeDoesNotExistError: