X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/08d8018f613bad8e07c510fdecc7392c798de8b8..886286a97f29204af33d0061ae51eb1b19ec0441:/deployment.py diff --git a/deployment.py b/deployment.py index 8f06d764..b989fc7a 100644 --- a/deployment.py +++ b/deployment.py @@ -25,6 +25,9 @@ class DeploySite(object): self.env['PYTHON_BIN'] = os.path.join( self.env['PYTHON_BASE'], 'bin', 'python') + self.env['PYTHON_VERSION'] + if 'PIP_BIN' not in self.env: + self.env['PIP_BIN'] = os.path.join(self.env['PYTHON_BASE'], 'bin', 'pip') + if 'PYTHON_SITE' not in self.env: self.env['PYTHON_SITE'] = os.path.join( self.env['PYTHON_BASE'], 'lib', @@ -64,6 +67,9 @@ class DeploySite(object): def update_app(self): pass + def update_config(self): + pass + def install_dependencies(self): pass @@ -95,6 +101,8 @@ class WSGISite(DeploySite): self.env['WSGI_FILE'] = os.path.join(self.env['ROOT'], 'www', 'wsgi', self.env['PROJECT_NAME']) + '.wsgi' + self.env['WSGI_DIR'] = os.path.dirname(self.env['WSGI_FILE']) + if 'WSGI_SOURCE_FILE' not in self.env: self.env['WSGI_SOURCE_FILE'] = 'wsgi_app.template' @@ -106,6 +114,8 @@ class WSGISite(DeploySite): os.system("touch %s" % self.env['WSGI_FILE']) def update_config(self): + super(WSGISite, self).update_config() + source = self.find_resource(self.env['WSGI_SOURCE_FILE']) self.render_template(source, self.env['WSGI_FILE']) @@ -113,11 +123,11 @@ class PIPSite(DeploySite): def install_dependencies(self): self.info("Installing requirements") - os.system("pip install -r %s" % self.find_resource('requirements.txt')) + os.system("%s install -r %s" % (self.env['PIP_BIN'], self.find_resource('requirements.txt'))) try: self.info("Installing local requirements") - os.system("pip install -r %s" % self.find_resource('requirements_local.txt')) + os.system("%s install -r %s" % (self.env['PIP_BIN'], self.find_resource('requirements_local.txt'))) except ValueError: pass @@ -139,5 +149,7 @@ class ApacheSite(DeploySite): self.env['VHOST_FILE'] = os.path.join(self.env['CONFIG_DIR'], self.env['PROJECT_NAME'] + '.vhost') def update_config(self): + super(ApacheSite, self).update_config() + source = self.find_resource(self.env['VHOST_SOURCE_FILE']) - self.render_template(source, self.env['VHOST_CONFIG_FILE']) + self.render_template(source, self.env['VHOST_FILE'])