- Timestamp:
- 02/13/08 20:33:03 (4 years ago)
- Location:
- cleverbox/trunk
- Files:
-
- 5 modified
-
cleverbox/model/__init__.py (modified) (1 diff)
-
cleverbox/model/client.py (modified) (1 diff)
-
cleverbox/model/project.py (modified) (2 diffs)
-
docs/README (modified) (1 diff)
-
docs/TODO (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cleverbox/trunk/cleverbox/model/__init__.py
r211 r222 1 1 # -*- coding: utf-8 -*- 2 2 version = '0.5dev' 3 4 def check_required_parameters(names, parameters): 5 6 for required_param in names: 7 # This will raise a KeyError if a parameter is missing 8 # TODO : it could be better to raise a more specific exception 9 parameters[required_param] -
cleverbox/trunk/cleverbox/model/client.py
r211 r222 137 137 Deletes client from supplied environment. 138 138 139 TODO : tu nrthat into an "archive" command to avoid complete loss of data139 TODO : turn that into an "archive" command to avoid complete loss of data 140 140 """ 141 141 -
cleverbox/trunk/cleverbox/model/project.py
r213 r222 5 5 import logging, os, re, ConfigParser, traceback 6 6 from cleverbox.utils import filesystem, styles 7 from cleverbox import model 7 8 8 9 def exists(environment, client_name, project_name, project_status = None): … … 87 88 """ 88 89 89 # Parameters required for project creation90 required = ('client', 'short_name', 'full_name', 'profile', 'enable')91 92 90 # Merging for consistency 93 91 parameters['client'] = client_name 94 92 parameters['short_name'] = project_name 95 93 96 # Sanity checks before project creation 97 for required_param in required: 98 # This will raise a KeyError if a parameter is missing 99 # TODO : it could be better to raise a more specific exception 100 parameters[required_param] 101 94 # Check that all required parameters are here 95 required = ('client', 'short_name', 'full_name', 'profile', 'enable') 96 model.check_required_parameters(required, parameters) 97 102 98 # Make sure client exists 103 99 from cleverbox.model import client -
cleverbox/trunk/docs/README
r203 r222 1 The Cleverbox sits on top of [http://trac.edgewall.org Trac] and [http://subversion.tigris.org Subversion]. 2 It provides an interactive shell for deploying and maintaining instances of both projects. 1 '''Please note : this version of the cleverbox is highly instable and should not be used in production. Latest stable version is cleverbox-0.4.''' 3 2 4 == Features==3 == What is it ? == 5 4 6 * Configuration profiles : 7 * Apache configuration templates 8 * `trac.ini` configuration template 9 * Default permissions 10 * Easy to setup 11 * Easy to use 12 * Upgrade scripts provided with each new release (as of 0.4) 5 The cleverbox provides an interactive command line shell dedicated to the deployment and maintenance of trac and subversion instances. 13 6 14 == Non-goals == 7 It can handle multiple configuration profiles, enabling the deployment of differently flavored type of project (trac configuration and permissions, apache configuration templates, etc). 15 8 16 This project does not have these features and will not get them anytime : 17 18 * A web frontend 19 * Full fledged plugins support 20 * Multi-project Trac 21 22 Why ? Because this script is meant to stay simple. If you want that you'd better checkout [http://www.kforgeproject.com/ KForge] which has the 23 same feature set as the Cleverbox + a [http://www.djangoproject.com django]-based web frontend and very nice plugins integration (for providing new services). 24 Caveats : difficult to install and a bit instable at the moment (but i'm confident it will get better with 0.14 & following releases). 9 Project's main objective is to make your life as simple as possible. Thus, it comes with easy installation, easy upgrades and a comprehensive documentation. 25 10 26 11 == License == -
cleverbox/trunk/docs/TODO
r213 r222 1 Cleverbox : modules reorganisation : 1 == Cleverbox : modules reorganisation == 2 2 3 3 * cleverbox.utils.logging 4 * model.* -> domain.* 4 5 5 Misc : 6 == Misc == 6 7 * trac.ini "cleverbox" section (instead of incompatible string substition) 7 8 * streamline cli / log output … … 11 12 * apachectl integration (for configtest + reload) 12 13 * by default, files should be owned bu current user, not root : 2.0 ! 13 * make code for collecting user input more generic14 (and btw, models should not be responsible for collecting data)15 14 * normalize exceptions usage 16 15 * trac permissions definitions could be better. Foreach subject listed in permissions.ini 17 16 * revoke all permissions (list obtained with 'permissions list' 18 17 * add permissions listed in permissions.ini 18 * Refactor to command pattern
