comparison pylons_app/controllers/files.py @ 485:9836541b0509 celery

added limit for showing pygemntized source codes larger than 250kb.
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 18 Sep 2010 00:50:54 +0200
parents 0d4fceb91c9c
children d945c95ba4ac
comparison
equal deleted inserted replaced
484:d3f701d912bd 485:9836541b0509
43 @LoginRequired() 43 @LoginRequired()
44 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 44 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
45 'repository.admin') 45 'repository.admin')
46 def __before__(self): 46 def __before__(self):
47 super(FilesController, self).__before__() 47 super(FilesController, self).__before__()
48 c.file_size_limit = 250 * 1024 #limit of file size to display
48 49
49 def index(self, repo_name, revision, f_path): 50 def index(self, repo_name, revision, f_path):
50 hg_model = HgModel() 51 hg_model = HgModel()
51 c.repo = repo = hg_model.get_repo(c.repo_name) 52 c.repo = repo = hg_model.get_repo(c.repo_name)
52 revision = request.POST.get('at_rev', None) or revision 53 revision = request.POST.get('at_rev', None) or revision
74 revision=prev_rev, f_path=f_path) 75 revision=prev_rev, f_path=f_path)
75 c.url_next = url('files_home', repo_name=c.repo_name, 76 c.url_next = url('files_home', repo_name=c.repo_name,
76 revision=next_rev, f_path=f_path) 77 revision=next_rev, f_path=f_path)
77 78
78 c.changeset = repo.get_changeset(revision) 79 c.changeset = repo.get_changeset(revision)
79
80 80
81 c.cur_rev = c.changeset.raw_id 81 c.cur_rev = c.changeset.raw_id
82 c.rev_nr = c.changeset.revision 82 c.rev_nr = c.changeset.revision
83 c.files_list = c.changeset.get_node(f_path) 83 c.files_list = c.changeset.get_node(f_path)
84 c.file_history = self._get_history(repo, c.files_list, f_path) 84 c.file_history = self._get_history(repo, c.files_list, f_path)
93 c.repo = hg_model.get_repo(c.repo_name) 93 c.repo = hg_model.get_repo(c.repo_name)
94 file_node = c.repo.get_changeset(revision).get_node(f_path) 94 file_node = c.repo.get_changeset(revision).get_node(f_path)
95 response.content_type = file_node.mimetype 95 response.content_type = file_node.mimetype
96 response.content_disposition = 'attachment; filename=%s' \ 96 response.content_disposition = 'attachment; filename=%s' \
97 % f_path.split('/')[-1] 97 % f_path.split('/')[-1]
98 return file_node.content
99
100 def raw(self, repo_name, revision, f_path):
101 hg_model = HgModel()
102 c.repo = hg_model.get_repo(c.repo_name)
103 file_node = c.repo.get_changeset(revision).get_node(f_path)
104 response.content_type = 'text/plain'
105
98 return file_node.content 106 return file_node.content
99 107
100 def annotate(self, repo_name, revision, f_path): 108 def annotate(self, repo_name, revision, f_path):
101 hg_model = HgModel() 109 hg_model = HgModel()
102 c.repo = hg_model.get_repo(c.repo_name) 110 c.repo = hg_model.get_repo(c.repo_name)