[Checkins] SVN: grokproject/trunk/ Removed code that was factored
out into z3c.recipe.eggbasket and
Maurits van Rees
m.van.rees at zestsoftware.nl
Wed Jul 2 16:45:48 EDT 2008
Log message for revision 87934:
Removed code that was factored out into z3c.recipe.eggbasket and
already gets invoked by grokproject by doing a "buildout bootstrap".
Changed:
U grokproject/trunk/CHANGES.txt
U grokproject/trunk/grokproject/templates.py
U grokproject/trunk/grokproject/utils.py
-=-
Modified: grokproject/trunk/CHANGES.txt
===================================================================
--- grokproject/trunk/CHANGES.txt 2008-07-02 19:25:20 UTC (rev 87933)
+++ grokproject/trunk/CHANGES.txt 2008-07-02 20:45:44 UTC (rev 87934)
@@ -4,6 +4,9 @@
0.8 (unreleased)
------------------
+* Removed code that was factored out into z3c.recipe.eggbasket and
+ already gets invoked by grokproject by doing a "buildout bootstrap".
+
* Pinned the required PasteScript version in setup.py of grokproject.
Refs https://bugs.launchpad.net/grok/+bug/242370
Modified: grokproject/trunk/grokproject/templates.py
===================================================================
--- grokproject/trunk/grokproject/templates.py 2008-07-02 19:25:20 UTC (rev 87933)
+++ grokproject/trunk/grokproject/templates.py 2008-07-02 20:45:44 UTC (rev 87934)
@@ -2,24 +2,19 @@
import os
import urllib
import urlparse
-import shutil
-import tempfile
import xml.sax.saxutils
-import tarfile
from paste.script import templates
from paste.script.templates import NoDefault
from grokproject.utils import run_buildout
-from grokproject.utils import get_buildout_default_eggs_dir
from grokproject.utils import ask_var
from grokproject.utils import get_boolean_value_for_option
from grokproject.utils import create_buildout_default_file
from grokproject.utils import exist_buildout_default_file
from grokproject.utils import required_grok_version
-from grokproject.utils import is_grok_installed
-from grokproject.utils import install_grok
GROK_RELEASE_URL = 'http://grok.zope.org/releaseinfo/'
+
class GrokProject(templates.Template):
_template_dir = 'template'
summary = "A grok project"
@@ -98,47 +93,4 @@
if not vars['run_buildout']:
return
os.chdir(vars['project'])
- eggs_dir = vars.get('explicit_eggs_dir',
- get_buildout_default_eggs_dir())
- if not os.path.isdir(eggs_dir):
- os.mkdir(eggs_dir)
-
- version = required_grok_version(vars['version_info_file_contents'])
- if not is_grok_installed(target_dir=eggs_dir, version=version):
- print "Grok is not installed. A grok tarball will be downloaded."
-
- tarball_name = 'grok-eggs-%s.tgz' % version
- url = GROK_RELEASE_URL + tarball_name
- print "Downloading %s ..." % url
-
- try:
- extraction_dir = tempfile.mkdtemp()
- filenum, temp_tarball_name = tempfile.mkstemp()
- tarball = open(temp_tarball_name, 'w')
- tarball.write(urllib.urlopen(url).read())
- tarball.close()
- print "Finished downloading."
- print "Installing eggs to %s ..." % eggs_dir
-
- try:
- tf = tarfile.open(temp_tarball_name,
- 'r:gz')
- except tarfile.ReadError, e:
- print "ReadError: %s. Not using tarball." % e
- else:
- links = []
- for name in tf.getnames():
- tf.extract(name, extraction_dir)
- links.append(os.path.join(extraction_dir, name))
- tf.close()
-
- result = install_grok(target_dir=eggs_dir, version=version,
- links=links)
- if result is False:
- print "Failed to install Grok with the tar ball."
- print "Continuing with buildout instead."
- finally:
- shutil.rmtree(extraction_dir)
- os.unlink(temp_tarball_name)
-
run_buildout(command.options.verbose)
Modified: grokproject/trunk/grokproject/utils.py
===================================================================
--- grokproject/trunk/grokproject/utils.py 2008-07-02 19:25:20 UTC (rev 87933)
+++ grokproject/trunk/grokproject/utils.py 2008-07-02 20:45:44 UTC (rev 87934)
@@ -4,7 +4,6 @@
import tempfile
import pkg_resources
from paste.script.templates import var
-from ConfigParser import ConfigParser
HOME = os.path.expanduser('~')
@@ -73,17 +72,6 @@
return value
-def get_buildout_default_eggs_dir():
- default_cfg = os.path.join(HOME, '.buildout', 'default.cfg')
- if os.path.isfile(default_cfg):
- cfg = ConfigParser()
- cfg.read(default_cfg)
- if cfg.has_option('buildout', 'eggs-directory'):
- eggs_dir = cfg.get('buildout', 'eggs-directory').strip()
- if eggs_dir:
- return os.path.expanduser(eggs_dir)
-
-
def exist_buildout_default_file():
default_cfg = os.path.join(HOME, '.buildout', 'default.cfg')
return os.path.isfile(default_cfg)
@@ -136,32 +124,3 @@
for line in versionfile.split('\n'):
if line.startswith('grok ='):
return line.split(' ')[-1]
-
-
-def install_grok(target_dir=None, version=None, links=None):
- from zc.buildout.easy_install import install
- from zc.buildout.easy_install import MissingDistribution
- try:
- empty_index = tempfile.mkdtemp()
-
- try:
- install(['grok'], target_dir, newest=False,
- versions={'grok': version}, links=links,
- index='file://' + empty_index)
- except MissingDistribution:
- result = False
- else:
- result = True
- finally:
- shutil.rmtree(empty_index)
- return result
-
-
-def is_grok_installed(target_dir=None, version=None):
- # Check if the required grok version is installed. We do this
- # by trying to install grok in the target dir and letting
- # easy_install only look inside that same eggs dir while doing
- # that.
- result = install_grok(target_dir=target_dir, version=version,
- links=[target_dir])
- return result
More information about the Checkins
mailing list