~doctormo/django-deployer/trunk

« back to all changes in this revision

Viewing changes to modeploy/deployer.py

  • Committer: Martin Owens (DoctorMO)
  • Date: 2008-07-21 01:44:15 UTC
  • Revision ID: doctormo@gmail.com-20080721014415-5f2cmnc06vz8bvbc
Push deps into structured format using an apps list to sus all the deps.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
 
6
6
curdir = os.path.abspath( '.' )
7
7
 
 
8
deps = {
 
9
        'django'      : [ 'python-django' ],
 
10
        'mysql'       : [ 'mysql-client' ],
 
11
        'mysql-local' : [ 'mysql-server' ],
 
12
        'apache'      : [ 'apache2', 'libapache2-mod-python' ],
 
13
}
 
14
 
8
15
def random_password(size=8):
9
16
        chars = string.letters + string.digits
10
17
        npass = ''
45
52
        data = {}
46
53
        data['type']  = 'mysql' #askQuestion("What kind of database will this be?", { 'mysql' : 'MySQL', 'postsql' : 'PostgreSQL' })
47
54
        data['local'] = interface.askYesNo("Will this website use a local database?","n")
 
55
 
 
56
        data['apps'].append( data['type'] )
 
57
        if data['local']:
 
58
                data['apps'].append( data['type'] + '-local' )
 
59
 
48
60
        if interface.askYesNo("Is the database Preconfigured? (details are stored in the package)"):
49
61
                return configure_database( data, str(s['name']) )
50
62
        data['on_deploy'] = 1
103
115
        return stores
104
116
 
105
117
 
 
118
def plan_apache( data ):
 
119
        data['apps'].append( 'apache' )
 
120
 
 
121
 
106
122
def configure_apache( data ):
107
123
        # Configure the apache conf
108
124
        installer.fileReplacement( data, os.path.join(share_dir,"apache.conf"), '%s.conf' % str(data['domain']) )
178
194
def configure_debian( data ):
179
195
        installer.makePath( 'debian' )
180
196
 
181
 
        data['deps'] = 'apache2, python-django, mysql-server'
 
197
        mydeps = []
 
198
        for app in list(data['apps']):
 
199
                if deps.has_key(app):
 
200
                        mydeps += deps[app]
 
201
 
 
202
        data['deps'] = ', '.join(mydeps)
 
203
 
182
204
        installer.quick_write('debian/compat', '5\n')
183
205
        installer.quick_write('debian/pycompat', '2\n')
184
206