##// END OF EJS Templates
added mimetypes to annotate
added mimetypes to annotate

File last commit:

r493:2256c78a celery
r496:47f4c7ff celery
Show More
summary.py
96 lines | 3.8 KiB | text/x-python | PythonLexer
licensing updates, code cleanups
r252 #!/usr/bin/env python
# encoding: utf-8
# summary controller for pylons
# Copyright (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com>
version bump to 0.8...
r362 #
licensing updates, code cleanups
r252 # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2
# of the License or (at your opinion) any later version of the license.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
"""
Created on April 18, 2010
summary controller for pylons
@author: marcink
"""
rewrote graph plotting, added zooming and json dump insted of stupid string formating.
r486 from pylons import tmpl_context as c, request, url
Implemented permissions into hg app, secured admin controllers, templates and repository specific controllers
r318 from pylons_app.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
Reimplemented way of caching repos list, hg model now get's repos objects right from cached dict, this way we skipp creating instances of MercurialRepository and gain performance. Some import cleanup
r245 from pylons_app.lib.base import BaseController, render
version bump to 0.8...
r362 from pylons_app.lib.utils import OrderedDict
switched filters into webhelpers for easy of usage....
r282 from pylons_app.model.hg_model import HgModel
implemented basic autoupdating statistics fetched from database
r493 from pylons_app.model.db import Statistics
switched filters into webhelpers for easy of usage....
r282 from webhelpers.paginate import Page
starting celery branch
r467 from pylons_app.lib.celerylib import run_task
from pylons_app.lib.celerylib.tasks import get_commits_stats
implemented basic autoupdating statistics fetched from database
r493 from datetime import datetime, timedelta
from time import mktime
import calendar
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 import logging
version bump to 0.8...
r362
Marcin Kuzminski
Moved summary to seperate controller,...
r82 log = logging.getLogger(__name__)
class SummaryController(BaseController):
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191
@LoginRequired()
Implemented permissions into hg app, secured admin controllers, templates and repository specific controllers
r318 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
'repository.admin')
Marcin Kuzminski
Moved summary to seperate controller,...
r82 def __before__(self):
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 super(SummaryController, self).__before__()
Implemented permissions into hg app, secured admin controllers, templates and repository specific controllers
r318
Marcin Kuzminski
Moved summary to seperate controller,...
r82 def index(self):
hg_model = HgModel()
c.repo_info = hg_model.get_repo(c.repo_name)
switched filters into webhelpers for easy of usage....
r282 c.repo_changesets = Page(list(c.repo_info[:10]), page=1, items_per_page=20)
Marcin Kuzminski
Moved summary to seperate controller,...
r82 e = request.environ
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 uri = u'%(protocol)s://%(user)s@%(host)s/%(repo_name)s' % {
some beaker cache changes, and added repr to models
r232 'protocol': e.get('wsgi.url_scheme'),
'user':str(c.hg_app_user.username),
'host':e.get('HTTP_HOST'),
'repo_name':c.repo_name, }
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 c.clone_repo_url = uri
fixed sorting of tags and branches. Fix made in vcs.
r389 c.repo_tags = OrderedDict()
fixed branches and tags, fetching for new vcs implementation
r277 for name, hash in c.repo_info.tags.items()[:10]:
c.repo_tags[name] = c.repo_info.get_changeset(hash)
fixed sorting of tags and branches. Fix made in vcs.
r389 c.repo_branches = OrderedDict()
fixed branches and tags, fetching for new vcs implementation
r277 for name, hash in c.repo_info.branches.items()[:10]:
c.repo_branches[name] = c.repo_info.get_changeset(hash)
starting celery branch
r467
implemented basic autoupdating statistics fetched from database
r493 td = datetime.today() + timedelta(days=1)
y, m, d = td.year, td.month, td.day
ts_min_y = mktime((y - 1, (td - timedelta(days=calendar.mdays[m])).month,
d, 0, 0, 0, 0, 0, 0,))
ts_min_m = mktime((y, (td - timedelta(days=calendar.mdays[m])).month,
d, 0, 0, 0, 0, 0, 0,))
ts_max_y = mktime((y, m, d, 0, 0, 0, 0, 0, 0,))
run_task(get_commits_stats, c.repo_info.name, ts_min_y, ts_max_y)
c.ts_min = ts_min_m
c.ts_max = ts_max_y
stats = self.sa.query(Statistics)\
.filter(Statistics.repository == c.repo_info.dbrepo)\
.scalar()
if stats:
c.commit_data = stats.commit_activity
c.overview_data = stats.commit_activity_combined
else:
import json
c.commit_data = json.dumps({})
c.overview_data = json.dumps([[ts_min_y, 0], [ts_max_y, 0] ])
version bump to 0.8...
r362
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 return render('summary/summary.html')
version bump to 0.8...
r362