##// END OF EJS Templates
bugfix
bugfix

File last commit:

r191:b68b2246 default
r213:7a97f0b1 default
Show More
repos.py
75 lines | 2.8 KiB | text/x-python | PythonLexer
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 import logging
Marcin Kuzminski
Added hg model,implemented removal of repos, added HgModel for fetching repos(with generator)
r58 import os
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 from pylons import request, response, session, tmpl_context as c, url, app_globals as g
from pylons.controllers.util import abort, redirect
from pylons_app.lib import auth
from pylons_app.lib.base import BaseController, render
Marcin Kuzminski
Added sqlalchemy support...
r49 from pylons_app.model.db import Users, UserLogs
Marcin Kuzminski
Added hg model,implemented removal of repos, added HgModel for fetching repos(with generator)
r58 from pylons_app.model.hg_model import HgModel
from operator import itemgetter
import shutil
moved cache invalidating to utils, as seperate function. Implemented invalidating in
r140 from pylons_app.lib.utils import invalidate_cache
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 log = logging.getLogger(__name__)
class ReposController(BaseController):
"""REST Controller styled on the Atom Publishing Protocol"""
# To properly map this controller, ensure your config/routing.py
# file has a resource setup:
# map.resource('repo', 'repos')
implemented autentication
r52
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def __before__(self):
c.admin_user = session.get('admin_user')
c.admin_username = session.get('admin_username')
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 super(ReposController, self).__before__()
Marcin Kuzminski
Added sqlalchemy support...
r49
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def index(self, format='html'):
"""GET /repos: All items in the collection"""
# url('repos')
added long term caching of repo_list to the base controller. changed hg and repos to use that cached list.
r169 c.repos_list = c.cached_repo_list
Html changes and cleanups, made folders for html templates, implemented tags and branches pages
r127 return render('admin/repos/repos.html')
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
def create(self):
"""POST /repos: Create a new item"""
# url('repos')
def new(self, format='html'):
"""GET /repos/new: Form to create a new item"""
# url('new_repo')
def update(self, id):
"""PUT /repos/id: Update an existing item"""
# Forms posted to this method should contain a hidden field:
# <input type="hidden" name="_method" value="PUT" />
# Or using helpers:
# h.form(url('repo', id=ID),
# method='put')
# url('repo', id=ID)
def delete(self, id):
"""DELETE /repos/id: Delete an existing item"""
# Forms posted to this method should contain a hidden field:
# <input type="hidden" name="_method" value="DELETE" />
# Or using helpers:
# h.form(url('repo', id=ID),
# method='delete')
# url('repo', id=ID)
Marcin Kuzminski
Added hg model,implemented removal of repos, added HgModel for fetching repos(with generator)
r58 from datetime import datetime
path = g.paths[0][1].replace('*', '')
rm_path = os.path.join(path, id)
log.info("Removing %s", rm_path)
shutil.move(os.path.join(rm_path, '.hg'), os.path.join(rm_path, 'rm__.hg'))
shutil.move(rm_path, os.path.join(path, 'rm__%s-%s' % (datetime.today(), id)))
moved cache invalidating to utils, as seperate function. Implemented invalidating in
r140
#clear our cached list for refresh with new repo
added long term caching of repo_list to the base controller. changed hg and repos to use that cached list.
r169 invalidate_cache('cached_repo_list')
moved cache invalidating to utils, as seperate function. Implemented invalidating in
r140
Marcin Kuzminski
Added hg model,implemented removal of repos, added HgModel for fetching repos(with generator)
r58 return redirect(url('repos'))
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
def show(self, id, format='html'):
"""GET /repos/id: Show a specific item"""
# url('repo', id=ID)
Marcin Kuzminski
Css fixes, implemented removal of users, and display draft
r48 return render('/repos_show.html')
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def edit(self, id, format='html'):
"""GET /repos/id/edit: Form to edit an existing item"""
# url('edit_repo', id=ID)