main.scss
[wolnelektury.git] / fabfile.py
index bdf0fad..87954e8 100644 (file)
@@ -1,4 +1,6 @@
+# -*- coding: utf-8 -*-
 from fnpdeploy import *
+
 try:
     from fabfile_local import *
 except ImportError:
@@ -8,6 +10,26 @@ except ImportError:
 env.project_name = 'wolnelektury'
 
 
+def update_counters():
+    print '>>> updating counters'
+    require('app_path', 'project_name')
+    with cd(get_django_root_path('current')):
+        run('%(ve)s/bin/python manage.py update_counters' % env, pty=True)
+
+
+def compile_messages():
+    print '>>> compiling messages'
+    require('app_path', 'project_name')
+    with cd(get_django_root_path('current')):
+        run('source %(ve)s/bin/activate && python manage.py localepack -c' % env, pty=True)
+
+
+class Memcached(Service):
+    def run(self):
+        print '>>> memcached: restart'
+        sudo('service memcached restart', shell=False)
+
+
 @task
 def production():
     env.hosts = ['giewont.icm.edu.pl']
@@ -15,9 +37,14 @@ def production():
     env.app_path = '/srv/wolnelektury.pl'
     env.django_root_path = 'src'
     env.requirements_file = 'requirements/requirements.txt'
+    env.pre_collectstatic = [
+        update_counters,
+        compile_messages,
+    ]
     env.services = [
         Supervisord('wolnelektury'),
         Supervisord('wolnelektury.celery'),
+        Memcached(),
     ]
 
 
@@ -29,6 +56,10 @@ def beta():
     env.ve = '/srv/wolnelektury.pl/ve'
     env.django_root_path = 'src'
     env.requirements_file = 'requirements/requirements.txt'
+    env.pre_collectstatic = [
+        update_counters,
+        compile_messages,
+    ]
     env.services = [
         Supervisord('beta'),
     ]