setup.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import os
  2. from optparse import OptionParser
  3. from django.core import management
  4. def get_misago_project_template():
  5. misago_path = os.path.dirname(os.path.dirname(__file__))
  6. return os.path.join(misago_path, 'project_template')
  7. def start_misago_project():
  8. parser = OptionParser(usage="usage: %prog project_name")
  9. (options, args) = parser.parse_args()
  10. if len(args) != 1:
  11. parser.error("project_name must be specified")
  12. project_name = args[0]
  13. if project_name.startswith("-"):
  14. parser.error("project_name cannot start with '-'")
  15. # Ensure the given directory name doesn't clash with an existing
  16. # Python package/module.
  17. try:
  18. __import__(project_name)
  19. except ImportError:
  20. pass
  21. else:
  22. parser.error("'%s' conflicts with the name of an existing "
  23. "Python module and cannot be used as a project "
  24. "name. Please try another name." % project_name)
  25. argv = ['start-misago.py', 'startproject', project_name,
  26. '--template=%s' % get_misago_project_template()]
  27. management.execute_from_command_line(argv)