[Checkins] SVN: lovely.recipe/trunk/ - Re-arranged the fs recipe code to not check for directory existence during

Bernd Dorn dorn at lovelysystems.com
Tue Jul 1 05:12:20 EDT 2008


hi christian

what is the reason for this change?

thx, bernd

On Jul 1, 2008, at 10:20 AM, Christian Theune wrote:

> Log message for revision 87870:
>  - Re-arranged the fs recipe code to not check for directory  
> existence during
>    initialisation phase.
>
>  - Fixed some test issues.
>
>
>
> Changed:
>  U   lovely.recipe/trunk/CHANGES.txt
>  U   lovely.recipe/trunk/src/lovely/recipe/fs/README.txt
>  U   lovely.recipe/trunk/src/lovely/recipe/fs/mkdir.py
>  U   lovely.recipe/trunk/src/lovely/recipe/fs/mkfile.py
>
> -=-
> Modified: lovely.recipe/trunk/CHANGES.txt
> ===================================================================
> --- lovely.recipe/trunk/CHANGES.txt	2008-07-01 08:00:00 UTC (rev  
> 87869)
> +++ lovely.recipe/trunk/CHANGES.txt	2008-07-01 08:20:21 UTC (rev  
> 87870)
> @@ -6,12 +6,17 @@
> =====
>
> BIG TODO: add tests for lovely.recipe.zeo and lovely.recipe.zope to  
> test and
> -          to show for what this all is for.
> +          to show what this all is for.
>
> +- Re-arranged the fs recipe code to not check for directory  
> existence during
> +  initialisation phase.
> +
> +- Fixed some test issues.
> +
> 2008/04/24 0.3.1b4:
> ===================
>
> -- fixed os error if a path already esists
> +- fixed os error if a path already exists
>
> 2008/04/24 0.3.1b3:
> ===================
>
> Modified: lovely.recipe/trunk/src/lovely/recipe/fs/README.txt
> ===================================================================
> --- lovely.recipe/trunk/src/lovely/recipe/fs/README.txt	2008-07-01  
> 08:00:00 UTC (rev 87869)
> +++ lovely.recipe/trunk/src/lovely/recipe/fs/README.txt	2008-07-01  
> 08:20:21 UTC (rev 87870)
> @@ -16,6 +16,8 @@
>     ... path = mystuff
>     ... """)
>>>> print system(buildout),
> +    Getting distribution for 'ZODB3'.
> +    Got ZODB3 3...
>     Installing data-dir.
>     data-dir: Creating directory mystuff
>
> @@ -68,8 +70,12 @@
>     ... path = with/subdir
>     ... """)
>>>> print system(buildout),
> +    Uninstalling data-dir.
> +    Installing data-dir.
>     data-dir: Cannot create /sample-buildout/with/subdir. /sample- 
> buildout/with is not a directory.
> -    ...
> +    While:
> +      Installing data-dir.
> +    Error: Invalid Path
>
> But we need to activate this function explicitely.
>
> @@ -85,8 +91,8 @@
>     ... path = with/subdir
>     ... """)
>>>> print system(buildout),
> -    Uninstalling data-dir.
>     Installing data-dir.
> +    data-dir: Creating parent directory /sample-buildout/with
>     data-dir: Creating directory with/subdir
>
>>>> ls(sample_buildout)
>
> Modified: lovely.recipe/trunk/src/lovely/recipe/fs/mkdir.py
> ===================================================================
> --- lovely.recipe/trunk/src/lovely/recipe/fs/mkdir.py	2008-07-01  
> 08:00:00 UTC (rev 87869)
> +++ lovely.recipe/trunk/src/lovely/recipe/fs/mkdir.py	2008-07-01  
> 08:20:21 UTC (rev 87870)
> @@ -1,8 +1,10 @@
> import os
> import logging
> +import zc.buildout
>
> -class Mkdir:
>
> +class Mkdir(object):
> +
>     def __init__(self, buildout, name, options):
>         self.buildout = buildout
>         self.name = name
> @@ -13,20 +15,25 @@
>                               self.originalPath,
>                               )
>         self.createPath = options.get('createpath', 'False').lower()  
> in ['true', 'on', '1']
> -        if (    not self.createPath
> -            and not os.path.isdir(os.path.dirname(options['path']))
> -           ):
> -            logging.getLogger(self.name).error(
> -                'Cannot create %s. %s is not a directory.',
> -                options['path'], os.path.dirname(options['path']))
> -            raise zc.buildout.UserError('Invalid Path')
>
>     def install(self):
>         path = self.options['path']
> -        if not os.path.isdir(path):
> -            logging.getLogger(self.name).info(
> -                'Creating directory %s', self.originalPath)
> -            os.makedirs(path)
> +        dirname = os.path.dirname(self.options['path'])
> +
> +        if not os.path.isdir(dirname):
> +            if self.createPath:
> +                logging.getLogger(self.name).info(
> +                    'Creating parent directory %s', dirname)
> +                os.makedirs(dirname)
> +            else:
> +                logging.getLogger(self.name).error(
> +                    'Cannot create %s. %s is not a directory.',
> +                    path, dirname)
> +                raise zc.buildout.UserError('Invalid Path')
> +
> +        logging.getLogger(self.name).info(
> +            'Creating directory %s', self.originalPath)
> +        os.mkdir(path)
>         return ()
>
>     def update(self):
>
> Modified: lovely.recipe/trunk/src/lovely/recipe/fs/mkfile.py
> ===================================================================
> --- lovely.recipe/trunk/src/lovely/recipe/fs/mkfile.py	2008-07-01  
> 08:00:00 UTC (rev 87869)
> +++ lovely.recipe/trunk/src/lovely/recipe/fs/mkfile.py	2008-07-01  
> 08:20:21 UTC (rev 87870)
> @@ -1,8 +1,9 @@
> import os
> import logging
>
> -class Mkfile:
>
> +class Mkfile(object):
> +
>     def __init__(self, buildout, name, options):
>         self.buildout = buildout
>         self.name = name
> @@ -15,28 +16,26 @@
>                               self.originalPath,
>                               )
>         self.createPath = options.get('createpath', 'False').lower()  
> in ['true', 'on', '1']
> -        if (    not self.createPath
> -            and not os.path.isdir(os.path.dirname(options['path']))
> -           ):
> -            logging.getLogger(self.name).error(
> -                'Cannot create file %s. %s is not a directory.',
> -                options['path'], os.path.dirname(options['path']))
> -            raise zc.buildout.UserError('Invalid Path')
>
>     def install(self):
> -        path = self.options['path']
> -        if self.createPath:
> -            dirname = os.path.dirname(self.options['path'])
> -            if not os.path.isdir(dirname):
> +        filename = self.options['path']
> +        dirname = os.path.dirname(self.options['path'])
> +
> +        if not os.path.isdir(dirname):
> +            if self.createPath:
>                 logging.getLogger(self.name).info(
>                     'Creating directory %s', dirname)
>                 os.makedirs(dirname)
> -        f = file(path, 'w')
> +            else:
> +                logging.getLogger(self.name).error(
> +                    'Cannot create file %s. %s is not a directory.',
> +                    filename, dirname)
> +                raise zc.buildout.UserError('Invalid path')
> +
> +        f = file(filename, 'w')
>         logging.getLogger(self.name).info(
> -            'Writing file %s', path)
> +            'Writing file %s', filename)
>         f.write(self.options['content'])
> -
>         f.close()
> -        os.chmod(path, self.mode)
> -        return path
> -
> +        os.chmod(filename, self.mode)
> +        return filename
>
> _______________________________________________
> Checkins mailing list
> Checkins at zope.org
> http://mail.zope.org/mailman/listinfo/checkins

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2502 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/checkins/attachments/20080701/b3779479/smime-0001.bin


More information about the Checkins mailing list