Skip to content

Commit

Permalink
slight modifications to allow the StartProjectCommand to be used as a…
Browse files Browse the repository at this point in the history
… module
  • Loading branch information
jmg committed Dec 14, 2011
1 parent 59a42e8 commit 79d48cc
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 15 deletions.
13 changes: 8 additions & 5 deletions crawley/manager/commands/startproject.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,18 @@ class StartProjectCommand(BaseCommand):

name = "startproject"

def __init__(self, args=None, project_type=None, project_name=None):
def __init__(self, args=None, project_type=None, project_name=None, base_dir=None):

self.project_type = project_type
self.project_name = project_name
self.project_type = project_type
self.base_dir = base_dir

if project_name is not None:
args = [project_name]

BaseCommand.__init__(self, args)

def validations(self):

return [(len(self.args) >= 1, "No given project name")]

def execute(self):
Expand All @@ -45,4 +48,4 @@ def execute(self):
self.project_type = options.type

project = project_types[self.project_type]()
project.set_up(self.project_name)
project.set_up(self.project_name, base_dir=self.base_dir)
19 changes: 13 additions & 6 deletions crawley/manager/projects/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,23 @@ class BaseProject(object):
Base of all crawley's projects
"""

def set_up(self, project_name):
def set_up(self, project_name, base_dir=None):
"""
Setups a crawley project
"""

self._create_module(project_name)
self._write_meta_data(project_name)
generate_template("settings", project_name, project_name)

self.project_dir = os.path.join(project_name, project_name)
main_module = project_name

if base_dir is not None:
main_module = os.path.join(base_dir, project_name)

self._create_module(main_module)
self._write_meta_data(main_module)

generate_template("settings", project_name, main_module)

self.project_dir = os.path.join(main_module, project_name)

self._create_module(self.project_dir)

def _write_meta_data(self, directory_module):
Expand Down
4 changes: 2 additions & 2 deletions crawley/manager/projects/code.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ class CodeProject(BaseProject):

name = "code"

def set_up(self, project_name):
def set_up(self, project_name, **kwargs):
"""
Setups a code project.
Generates the crawlers and models files based on a template.
"""

BaseProject.set_up(self, project_name)
BaseProject.set_up(self, project_name, **kwargs)

generate_template("models", project_name, self.project_dir)
generate_template("crawlers", project_name, self.project_dir)
Expand Down
4 changes: 2 additions & 2 deletions crawley/manager/projects/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ class TemplateProject(BaseProject):

name = "template"

def set_up(self, project_name):
def set_up(self, project_name, **kwargs):
"""
Setups a crawley's template project
"""

BaseProject.set_up(self, project_name)
BaseProject.set_up(self, project_name, **kwargs)

generate_template("template", project_name, self.project_dir, new_extension=".crw")
generate_template("config", project_name, self.project_dir, new_extension=".ini")
Expand Down

0 comments on commit 79d48cc

Please sign in to comment.