[Checkins] SVN: grokproject/trunk/ When there is no
.buildout/default.cfg file, create it. Only put
Maurits van Rees
m.van.rees at zestsoftware.nl
Fri May 2 17:32:29 EDT 2008
Log message for revision 86136:
When there is no .buildout/default.cfg file, create it. Only put
eggs_directory in the created buildout.cfg file when the user does
not have it in default.cfg yet.
Changed:
U grokproject/trunk/CHANGES.txt
U grokproject/trunk/grokproject/template/buildout.cfg_tmpl
U grokproject/trunk/grokproject/templates.py
U grokproject/trunk/grokproject/utils.py
-=-
Modified: grokproject/trunk/CHANGES.txt
===================================================================
--- grokproject/trunk/CHANGES.txt 2008-05-02 20:52:15 UTC (rev 86135)
+++ grokproject/trunk/CHANGES.txt 2008-05-02 21:32:29 UTC (rev 86136)
@@ -4,6 +4,10 @@
0.8 (unreleased)
------------------
+* When there is no .buildout/default.cfg file, create it. Only put
+ eggs_directory in the created buildout.cfg file when the user does
+ not have it in default.cfg yet.
+
* Do not ask for eggs dir when we have a default already.
* Refactor grokproject/__init__.py by moving things out into main.py,
Modified: grokproject/trunk/grokproject/template/buildout.cfg_tmpl
===================================================================
--- grokproject/trunk/grokproject/template/buildout.cfg_tmpl 2008-05-02 20:52:15 UTC (rev 86135)
+++ grokproject/trunk/grokproject/template/buildout.cfg_tmpl 2008-05-02 21:32:29 UTC (rev 86136)
@@ -4,6 +4,9 @@
find-links = http://download.zope.org/distribution/
newest = ${newest}
extends = versions.cfg
+# eggs will be installed in the default buildout location
+# (see .buildout/default.cfg in your home directory)
+# unless you specify an eggs_directory option here.
${eggs_dir}
versions = versions
Modified: grokproject/trunk/grokproject/templates.py
===================================================================
--- grokproject/trunk/grokproject/templates.py 2008-05-02 20:52:15 UTC (rev 86135)
+++ grokproject/trunk/grokproject/templates.py 2008-05-02 21:32:29 UTC (rev 86136)
@@ -11,6 +11,7 @@
from grokproject.utils import ask_var
from grokproject.utils import get_var
from grokproject.utils import get_boolean_value_for_option
+from grokproject.utils import create_buildout_defaults_file
VERSIONINFO_INFO_URL = 'http://grok.zope.org/releaseinfo/current'
@@ -73,19 +74,17 @@
version_info_file_contents = urllib.urlopen(version_info_url).read()
vars['version_info_file_contents'] = version_info_file_contents
- input = os.path.expanduser(vars['eggs_dir'])
- if input == buildout_default:
- vars['eggs_dir'] = (
- '# eggs will be installed in the default buildout location\n'
- '# (see .buildout/default.cfg in your home directory)')
+ vars['eggs_dir'] = os.path.expanduser(vars['eggs_dir'])
+ if buildout_default is None:
+ create_buildout_defaults_file(vars['eggs_dir'])
+ buildout_default = get_buildout_default_eggs_dir()
+ if vars['eggs_dir'] == buildout_default:
+ vars['eggs_dir'] = ''
else:
vars['eggs_dir'] = (
'# Warning: when you share this buildout.cfg with friends\n'
'# please remove the eggs-directory line as it is hardcoded.\n'
- '# Consider adding this to the .buildout/default.cfg in your '
- 'home directory.\n'
- 'eggs-directory = %s') % input
-
+ 'eggs-directory = %s') % vars['eggs_dir']
return vars
def post(self, command, output_dir, vars):
Modified: grokproject/trunk/grokproject/utils.py
===================================================================
--- grokproject/trunk/grokproject/utils.py 2008-05-02 20:52:15 UTC (rev 86135)
+++ grokproject/trunk/grokproject/utils.py 2008-05-02 21:32:29 UTC (rev 86136)
@@ -27,6 +27,22 @@
if var.name == name:
return var
+def create_buildout_defaults_file(eggs_dir):
+ default_dir = os.path.join(HOME, '.buildout')
+ if not os.path.isdir(default_dir):
+ os.mkdir(default_dir)
+ default_cfg = os.path.join(HOME, '.buildout', 'default.cfg')
+ if not os.path.isfile(default_cfg):
+ config_file = open(default_cfg, 'w')
+ contents = """[buildout]
+#executable = python2.4
+#index = http://download.zope.org/ppix
+eggs-directory = %s
+download-directory = %s
+""" % (eggs_dir, eggs_dir)
+ config_file.write(contents)
+ config_file.close()
+
def get_boolean_value_for_option(vars, option):
value = vars.get(option.name)
if value is not None:
More information about the Checkins
mailing list