diff --git a/pylons_app/controllers/repos.py b/pylons_app/controllers/repos.py --- a/pylons_app/controllers/repos.py +++ b/pylons_app/controllers/repos.py @@ -1,5 +1,5 @@ import logging - +import os 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 @@ -7,7 +7,9 @@ from pylons_app.lib.base import BaseCont from pylons_app.model import meta from pylons_app.model.db import Users, UserLogs from pylons_app.lib.auth import authenticate - +from pylons_app.model.hg_model import HgModel +from operator import itemgetter +import shutil log = logging.getLogger(__name__) class ReposController(BaseController): @@ -26,6 +28,9 @@ class ReposController(BaseController): def index(self, format='html'): """GET /repos: All items in the collection""" # url('repos') + hg_model = HgModel() + c.repos_list = list(hg_model.get_repos()) + c.repos_list.sort(key=itemgetter('name')) return render('/repos.html') def create(self): @@ -53,6 +58,14 @@ class ReposController(BaseController): # h.form(url('repo', id=ID), # method='delete') # url('repo', id=ID) + 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))) + return redirect(url('repos')) + def show(self, id, format='html'): """GET /repos/id: Show a specific item"""