X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=roundup%2Finit.py;h=9214fb614d9984c62bff26049993b85ea881e7e3;hb=2484bfe7139d184af57a0da1e2e29016a1c2467a;hp=5fb6ca44009ab0c8b2653ae2e98ad544ca708dca;hpb=c853df7b1fb5c3deee55fd7c8396f56259b060f6;p=roundup.git diff --git a/roundup/init.py b/roundup/init.py index 5fb6ca4..9214fb6 100644 --- a/roundup/init.py +++ b/roundup/init.py @@ -4,7 +4,7 @@ # under the same terms as Python, so long as this copyright message and # disclaimer are retained in their original form. # -# IN NO EVENT SHALL THE BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR +# IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. @@ -15,14 +15,19 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -# $Id: init.py,v 1.14 2001-08-07 00:15:51 richard Exp $ +# $Id: init.py,v 1.20 2002-07-14 02:05:53 richard Exp $ -import os, shutil, sys, errno +__doc__ = """ +Init (create) a roundup instance. +""" -import roundup.instance +import os, sys, errno + +import roundup.instance, password +from roundup import install_util def copytree(src, dst, symlinks=0): - """Recursively copy a directory tree using copy2(). + """Recursively copy a directory tree using copyDigestedFile(). The destination directory os allowed to exist. @@ -48,15 +53,14 @@ def copytree(src, dst, symlinks=0): elif os.path.isdir(srcname): copytree(srcname, dstname, symlinks) else: - shutil.copy2(srcname, dstname) + install_util.copyDigestedFile(srcname, dstname) -def init(instance_home, template, backend, adminpw): - '''Initialise an instance using the named template and backend. +def install(instance_home, template, backend): + '''Install an instance using the named template and backend. instance_home - the directory to place the instance data in template - the template to use in creating the instance data backend - the database to use to store the instance data - adminpw - the password for the "admin" user The instance_home directory will be created using the files found in the named template (roundup.templates.). A standard instance_home @@ -94,15 +98,43 @@ def init(instance_home, template, backend, adminpw): # now select database db = '''# WARNING: DO NOT EDIT THIS FILE!!! -from roundup.backends.back_%s import Database'''%backend +from roundup.backends.back_%s import Database, Class, FileClass, IssueClass +'''%backend open(os.path.join(instance_home, 'select_db.py'), 'w').write(db) + +def initialise(instance_home, adminpw): + '''Initialise an instance's database + + adminpw - the password for the "admin" user + ''' # now import the instance and call its init instance = roundup.instance.open(instance_home) - instance.init(adminpw) + instance.init(password.Password(adminpw)) # # $Log: not supported by cvs2svn $ +# Revision 1.19 2002/05/23 01:14:20 richard +# . split instance initialisation into two steps, allowing config changes +# before the database is initialised. +# +# Revision 1.18 2001/11/22 15:46:42 jhermann +# Added module docstrings to all modules. +# +# Revision 1.17 2001/11/12 23:17:38 jhermann +# Code using copyDigestedFile() that passes unit tests +# +# Revision 1.16 2001/10/09 07:25:59 richard +# Added the Password property type. See "pydoc roundup.password" for +# implementation details. Have updated some of the documentation too. +# +# Revision 1.15 2001/08/07 00:24:42 richard +# stupid typo +# +# Revision 1.14 2001/08/07 00:15:51 richard +# Added the copyright/license notice to (nearly) all files at request of +# Bizar Software. +# # Revision 1.13 2001/08/06 01:20:00 richard # Added documentaion. #