fix initial in tag forms
[redakcja.git] / apps / build / management / commands / build.py
index 50097cf..9afc249 100644 (file)
@@ -1,3 +1,8 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
 import os
 from subprocess import call
 from optparse import make_option
@@ -7,33 +12,32 @@ from django.core.management import call_command
 
 
 class Command(BaseCommand):
-    
-    option_list = BaseCommand.option_list + (
-        make_option('--node-bin-path',
+
+    def add_arguments(self, parser):
+        parser.add_argument(
+            '--node-bin-path',
             action='store',
             dest='node_bin_path',
-            type='string',
             default=None,
-            help='Path to node binary'),
-        make_option('--npm-bin',
+            help='Path to node binary')
+        parser.add_argument(
+            '--npm-bin',
             action='store',
             dest='npm_bin',
-            type='string',
             default='npm',
-            help='Path to npm binary'),
-        make_option('--editor-npm-env',
+            help='Path to npm binary')
+        parser.add_argument(
+            '--editor-npm-env',
             action='store',
             dest='editor_npm_env',
-            type='string',
             default=None,
-            help='Destination path of npm environment, defaults to ./node_modules'),
-        make_option('--editor-optimize',
+            help='Destination path of npm environment, defaults to ./node_modules')
+        parser.add_argument(
+            '--editor-optimize',
             action='store',
             dest='editor_optimize',
-            type='string',
             default=None,
-            help='Optimization strategy for editor build'),
-        )
+            help='Optimization strategy for editor build')
 
     def handle(self, **options):
         wiki_base_dir = os.path.join(os.getcwd(), 'apps', 'wiki', 'static', 'wiki')
@@ -48,7 +52,7 @@ class Command(BaseCommand):
             assert os.path.isdir(npm_env)
             os.symlink(npm_env, os.path.join(rng_base_dir, 'node_modules'))
         try:
-            call([options['npm_bin'], 'install'], cwd = rng_base_dir)
+            call([options['npm_bin'], 'install'], cwd=rng_base_dir)
         except OSError:
             raise CommandError('Something went wrong, propably npm binary not found. Tried: %s' % options['npm_bin'])
 
@@ -56,9 +60,10 @@ class Command(BaseCommand):
         if options['node_bin_path']:
             # grunt needs npm binary to be foundable in PATH
             os.environ['PATH'] = '%s:%s' % (options['node_bin_path'], os.environ['PATH'])
-        args =  ['./node_modules/.bin/grunt', 'build', '--output-dir=%s' % build_dir]
+        args = ['./node_modules/.bin/grunt', 'build', '--output-dir=%s' % build_dir]
         if options['editor_optimize']:
             args.append('--optimize=%s' % options['editor_optimize'])
-        call(args, cwd = rng_base_dir)
+        self.stdout.write('Calling %s at %s' % (' '.join(args), rng_base_dir))
+        call(args, cwd=rng_base_dir)
 
-        call_command('collectstatic', interactive = False, ignore_patterns = ['editor'])
+        call_command('collectstatic', interactive=False, ignore_patterns=['editor'])