[Numpy-discussion] Adding a delete flag to make_svn_version_py() in distutils

pearu at cens.ioc.ee pearu at cens.ioc.ee
Sun Mar 4 05:37:52 EST 2007


Hi,
The patch looks ok to me.
Pearu

> Hi All,
>
> I've got a small patch which I thought I'd run past the list before
> checking in. While working on the NIPY project
> (http://neuroimaging.scipy.org/) we spend a lot of time working from a
> local source install, rather than a version installed in
> site-packages. The mechanism which lets you do things like
> numpy.__version__ and neuroimaging.__version__ and have it show the
> svn version e.g.
>
> In [3]: neuroimaging.__version__
> Out[3]: '0.1.2.dev1570'
>
> requires the file __svn_version__.py to be in the tree. Currently this
> file is deleted automatically. The patch adds a flag which makes
> deleting this file optional (with delete=True being default). This
> makes the svn version magic work for us and shouldn't break any
> existing code for anyone, Is there any reason why this shouldn't go
> in? I'm happy to make the checkin once it gets the OK from someone.
>
> Cheers,
>
> Tim Leslie
>
> Index: numpy/distutils/misc_util.py
> ===================================================================
> --- numpy/distutils/misc_util.py        (revision 3567)
> +++ numpy/distutils/misc_util.py        (working copy)
> @@ -1304,7 +1304,7 @@
>
>          return version
>
> -    def make_svn_version_py(self):
> +    def make_svn_version_py(self, delete=True):
>          """ Generate package __svn_version__.py file from SVN revision
> number,
>          it will be removed after python exits but will be available
>          when sdist, etc commands are executed.
> @@ -1326,10 +1326,12 @@
>
>              import atexit
>              def rm_file(f=target,p=self.info):
> -                try: os.remove(f); p('removed '+f)
> -                except OSError: pass
> -                try: os.remove(f+'c'); p('removed '+f+'c')
> -                except OSError: pass
> +                if delete:
> +                    try: os.remove(f); p('removed '+f)
> +                    except OSError: pass
> +                    try: os.remove(f+'c'); p('removed '+f+'c')
> +                    except OSError: pass
> +
>              atexit.register(rm_file)
>
>              return target
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>





More information about the NumPy-Discussion mailing list