[Checkins] SVN: grokproject/trunk/ If the user has a ~/.buildout/default.cfg nothing is added to the

Tim Terlegård tim.terlegard at valentinewebsystems.se
Sat May 3 06:17:40 EDT 2008


Log message for revision 86167:
  If the user has a ~/.buildout/default.cfg nothing is added to the
  created buildout.cfg. If there is no default.cfg one is created
  with a line specifying the eggs-directory to ~/.buildout/eggs. If
  the user specified --eggs-dir/eggs_dir on the command line that
  will be added to buildout.cfg.
  

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-05-03 10:14:32 UTC (rev 86166)
+++ grokproject/trunk/CHANGES.txt	2008-05-03 10:17:39 UTC (rev 86167)
@@ -4,6 +4,12 @@
 0.8 (unreleased)
 ------------------
 
+* If the user has a ~/.buildout/default.cfg nothing is added to the
+  created buildout.cfg. If there is no default.cfg one is created
+  with a line specifying the eggs-directory to ~/.buildout/eggs. If
+  the user specified --eggs-dir/eggs_dir on the command line that
+  will be added to buildout.cfg.
+
 * Added bootstrap.py to the buildout.
 
 * When there is no .buildout/default.cfg file, create it.  Only put

Modified: grokproject/trunk/grokproject/templates.py
===================================================================
--- grokproject/trunk/grokproject/templates.py	2008-05-03 10:14:32 UTC (rev 86166)
+++ grokproject/trunk/grokproject/templates.py	2008-05-03 10:17:39 UTC (rev 86167)
@@ -11,7 +11,8 @@
 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
+from grokproject.utils import create_buildout_default_file
+from grokproject.utils import exist_buildout_default_file
 
 VERSIONINFO_INFO_URL = 'http://grok.zope.org/releaseinfo/current'
 
@@ -35,7 +36,7 @@
                 getter=get_boolean_value_for_option),
         ask_var('eggs_dir',
                 'Location where zc.buildout will look for and place packages',
-                default=default_eggs_dir()),
+                default='', should_ask=False),
         ]
 
     def check_vars(self, vars, cmd):
@@ -47,11 +48,6 @@
             sys.exit(1)
 
         explicit_eggs_dir = vars.get('eggs_dir')
-        # Do not ask for eggs dir when we have a default already.
-        buildout_default = get_buildout_default_eggs_dir()
-        if buildout_default is not None:
-            var = get_var(self.vars, 'eggs_dir')
-            var.should_ask = False
 
         skipped_vars = {}
         for var in list(self.vars):
@@ -75,20 +71,17 @@
         version_info_file_contents = urllib.urlopen(version_info_url).read()
         vars['version_info_file_contents'] = version_info_file_contents
 
-        if explicit_eggs_dir is None:
-            vars['eggs_dir'] = os.path.expanduser(vars['eggs_dir'])
-        else:
-            vars['eggs_dir'] = os.path.expanduser(explicit_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:
+        buildout_default = exist_buildout_default_file()
+        if explicit_eggs_dir:
             vars['eggs_dir'] = (
                 '# Warning: when you share this buildout.cfg with friends\n'
                 '# please remove the eggs-directory line as it is hardcoded.\n'
-                'eggs-directory = %s') % vars['eggs_dir']
+                'eggs-directory = %s') % explicit_eggs_dir
+        elif buildout_default:
+            vars['eggs-dir'] = ''
+        else:
+            create_buildout_default_file()
+            
         return vars
 
     def post(self, command, output_dir, vars):

Modified: grokproject/trunk/grokproject/utils.py
===================================================================
--- grokproject/trunk/grokproject/utils.py	2008-05-03 10:14:32 UTC (rev 86166)
+++ grokproject/trunk/grokproject/utils.py	2008-05-03 10:17:39 UTC (rev 86167)
@@ -27,14 +27,18 @@
         if var.name == name:
             return var
 
-def create_buildout_defaults_file(eggs_dir):
+def create_buildout_default_file():
     default_dir = os.path.join(HOME, '.buildout')
     if not os.path.isdir(default_dir):
         os.mkdir(default_dir)
+    eggs_dir = os.path.join(default_dir, 'eggs')
+    if not os.path.isdir(eggs_dir):
+        os.mkdir(eggs_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
@@ -80,6 +84,9 @@
             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)
 
 def default_eggs_dir():
     buildout_default = get_buildout_default_eggs_dir()



More information about the Checkins mailing list