1
from quickly.core.commands import BaseCommand
1
from quickly.core.commands import BaseCommand, CommandError
3
from locale import gettext as _
3
6
class Create(BaseCommand):
12
def mkdir(self, dirname):
13
return os.path.join(os.getcwd(), dirname)
15
def copy_project_files(self, path):
18
def process_project_files(self, path):
21
def rename_dir(self, dir_path):
24
def rename_file(self, file_path):
27
def replace_file_content(self, file_path):
30
def init_version_control(self, path):
9
33
def run(self, args):
10
print "Creating %s project with args: %s" % (self.template._meta.name, args)
35
logging.warn(_('No project name argument'))
36
raise CommandError(self, _('Create command requires a project name'))
37
logging.info(_("Creating %s project with args: %s" % (self.template._meta.name, args)))
39
project_name = os.path.basename(args[0])
40
logging.info(_('Project name: %s' % project_name))
42
new_project_path = self.mkdir(args[0])
43
logging.info(_('Adding project files to %s' % new_project_path))
44
self.copy_project_files(new_project_path)
45
self.process_project_files(new_project_path)
46
self.init_version_control(new_project_path)
48
logging.info(_('Finished creating project'))