X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/08d8018f613bad8e07c510fdecc7392c798de8b8..7fa3a260da4a8841d11d532b7cab1d1339de94bc:/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'])