[Checkins] SVN: grokproject/branches/use-zopeproject/ Most of that code lives in zopeproject now. Just define a GrokApp template and depend

Philipp von Weitershausen philikon at philikon.de
Sat Jul 14 14:04:34 EDT 2007


Log message for revision 77969:
  Most of that code lives in zopeproject now. Just define a GrokApp template and depend
  on zopeproject.
  

Changed:
  U   grokproject/branches/use-zopeproject/grokproject/__init__.py
  U   grokproject/branches/use-zopeproject/setup.py

-=-
Modified: grokproject/branches/use-zopeproject/grokproject/__init__.py
===================================================================
--- grokproject/branches/use-zopeproject/grokproject/__init__.py	2007-07-14 18:01:58 UTC (rev 77968)
+++ grokproject/branches/use-zopeproject/grokproject/__init__.py	2007-07-14 18:04:34 UTC (rev 77969)
@@ -1,29 +1,18 @@
-import sys
-import os.path
-import optparse
-import shutil
-import tempfile
-import pkg_resources
-from paste.script import templates, command
-from paste.script.templates import var, NoDefault
+from zopeproject.script import create_project
+from paste.script.templates import Template, var
 
-class GrokProject(templates.Template):
+class GrokApp(Template):
     _template_dir = 'template'
-    summary = "A grok project"
-    required_templates = []
+    summary = 'Package that contains a Grok application'
+    required_templates = ['zope_deploy']
 
     vars = [
         var('module', 'Name of a demo Python module placed into the package',
-            default='app.py'),
-        var('user', 'Name of an initial administrator user', default=NoDefault),
-        var('passwd', 'Password for the initial administrator user',
-            default=NoDefault),
-        var('eggs_dir', 'Location where zc.buildout will look for and place '
-            'packages', default=os.path.expanduser('~/buildout-eggs'))
+            default='app.py')
         ]
 
     def check_vars(self, vars, cmd):
-        vars = super(GrokProject, self).check_vars(vars, cmd)
+        vars = super(GrokApp, self).check_vars(vars, cmd)
         module = vars['module']
         if '.' in module:
             if module.endswith('.py'):
@@ -36,83 +25,7 @@
                   "package name: %s." % vars['package']
             print "Please choose a different project name."
             sys.exit(1)
-        vars['eggs_dir'] = os.path.expanduser(vars['eggs_dir'])
         return vars
 
 def main():
-    usage = "usage: %prog [options] PROJECT"
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option('--no-buildout', action="store_true", dest="no_buildout",
-                      default=False, help="Only create project area, do not "
-                      "bootstrap the buildout.")
-    parser.add_option('--svn-repository', dest="repos", default=None,
-                      help="Import project to given repository location (this "
-                      "will also create the standard trunk/ tags/ branches/ "
-                      "hierarchy).")
-    parser.add_option('--newer', action="store_true", dest="newest",
-                      default=False, help="Check for newer versions of packages.")
-    parser.add_option('-v', '--verbose', action="store_true", dest="verbose",
-                      default=False, help="Be verbose.")
-    options, args = parser.parse_args()
-    if len(args) != 1:
-        parser.print_usage()
-        return 1
-
-    # create sandbox using paste.script
-    project = args[0]
-    commands = command.get_commands()
-    cmd = commands['create'].load()
-    runner = cmd('create')
-
-    option_args = []
-    if options.repos is not None:
-        option_args.extend(['--svn-repository', options.repos])
-    if not options.verbose:
-        option_args.append('-q')
-
-    extra_args = []
-    if options.newest:
-        extra_args.append('newest=true')
-    else:
-        extra_args.append('newest=false')
-
-    exit_code = runner.run(option_args + ['-t', 'grokproject', project]
-                           + extra_args)
-    # TODO exit_code
-
-    if options.no_buildout:
-        return
-
-    os.chdir(project)
-
-    extra_args = []
-    if not options.verbose:
-        extra_args.append('-q')
-
-    try:
-        import zc.buildout.buildout
-    except ImportError:
-        print "Downloading zc.buildout..."
-
-        # Install buildout into a temporary location
-        import setuptools.command.easy_install
-        tmpdir = tempfile.mkdtemp()
-        sys.path.append(tmpdir)
-        setuptools.command.easy_install.main(extra_args +
-                                             ['-mNxd', tmpdir, 'zc.buildout'])
-
-        # Add downloaded buildout to PYTHONPATH by requiring it
-        # through setuptools (this dance is necessary because the
-        # temporary installation was done as multi-version).
-        ws = pkg_resources.working_set
-        ws.add_entry(tmpdir)
-        ws.require('zc.buildout')
-
-        import zc.buildout.buildout
-        zc.buildout.buildout.main(extra_args + ['bootstrap'])
-        shutil.rmtree(tmpdir)
-    else:
-        zc.buildout.buildout.main(extra_args + ['bootstrap'])
-
-    print "Invoking zc.buildout..."
-    zc.buildout.buildout.main(['-q', 'install'])
+    create_project('grok_app')

Modified: grokproject/branches/use-zopeproject/setup.py
===================================================================
--- grokproject/branches/use-zopeproject/setup.py	2007-07-14 18:01:58 UTC (rev 77968)
+++ grokproject/branches/use-zopeproject/setup.py	2007-07-14 18:04:34 UTC (rev 77969)
@@ -2,7 +2,7 @@
 
 setup(
     name='grokproject',
-    version='0.5.2',
+    version='0.6',
     author='Grok Team',
     author_email='grok-dev at zope.org',
     url='https://launchpad.net/grok',
@@ -14,11 +14,11 @@
     packages=find_packages(),
     include_package_data=True,
     zip_safe=False,
-    install_requires=['PasteScript>=1.3',],
+    install_requires=['zopeproject'],
     entry_points="""
     [console_scripts]
     grokproject = grokproject:main
     [paste.paster_create_template]
-    grokproject = grokproject:GrokProject
+    grok_app = grokproject:GrokApp
     """,
 )



More information about the Checkins mailing list