[Erp5-report] r7413 - /erp5/trunk/products/ERP5Type/copyTree.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon May 22 17:45:07 CEST 2006


Author: chris
Date: Mon May 22 17:45:06 2006
New Revision: 7413

URL: http://svn.erp5.org?rev=7413&view=rev
Log:
- file hosting copyTree function with Python Software Fondation license.

Added:
    erp5/trunk/products/ERP5Type/copyTree.py

Added: erp5/trunk/products/ERP5Type/copyTree.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/copyTree.py?rev=7413&view=auto
==============================================================================
--- erp5/trunk/products/ERP5Type/copyTree.py (added)
+++ erp5/trunk/products/ERP5Type/copyTree.py Mon May 22 17:45:06 2006
@@ -1,0 +1,308 @@
+#A. HISTORY OF THE SOFTWARE
+#==========================
+
+#Python was created in the early 1990s by Guido van Rossum at Stichting
+#Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
+#as a successor of a language called ABC.  Guido remains Python's
+#principal author, although it includes many contributions from others.
+
+#In 1995, Guido continued his work on Python at the Corporation for
+#National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
+#in Reston, Virginia where he released several versions of the
+#software.
+
+#In May 2000, Guido and the Python core development team moved to
+#BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
+#year, the PythonLabs team moved to Digital Creations (now Zope
+#Corporation, see http://www.zope.com).  In 2001, the Python Software
+#Foundation (PSF, see http://www.python.org/psf/) was formed, a
+#non-profit organization created specifically to own Python-related
+#Intellectual Property.  Zope Corporation is a sponsoring member of
+#the PSF.
+
+#All Python releases are Open Source (see http://www.opensource.org for
+#the Open Source Definition).  Historically, most, but not all, Python
+#releases have also been GPL-compatible; the table below summarizes
+#the various releases.
+
+    #Release         Derived     Year        Owner       GPL-
+		    #from                                compatible? (1)
+
+    #0.9.0 thru 1.2              1991-1995   CWI         yes
+    #1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
+    #1.6             1.5.2       2000        CNRI        no
+    #2.0             1.6         2000        BeOpen.com  no
+    #1.6.1           1.6         2001        CNRI        yes (2)
+    #2.1             2.0+1.6.1   2001        PSF         no
+    #2.0.1           2.0+1.6.1   2001        PSF         yes
+    #2.1.1           2.1+2.0.1   2001        PSF         yes
+    #2.2             2.1.1       2001        PSF         yes
+    #2.1.2           2.1.1       2002        PSF         yes
+    #2.1.3           2.1.2       2002        PSF         yes
+    #2.2.1           2.2         2002        PSF         yes
+    #2.2.2           2.2.1       2002        PSF         yes
+    #2.2.3           2.2.2       2003        PSF         yes
+    #2.3             2.2.2       2002-2003   PSF         yes
+    #2.3.1           2.3         2002-2003   PSF         yes
+    #2.3.2           2.3.1       2002-2003   PSF         yes
+    #2.3.3           2.3.2       2002-2003   PSF         yes
+    #2.3.4           2.3.3       2004        PSF         yes
+    #2.3.5           2.3.4       2005        PSF         yes
+    #2.4             2.3         2004        PSF         yes
+    #2.4.1           2.4         2005        PSF         yes
+    #2.4.2           2.4.1       2005        PSF         yes
+
+#Footnotes:
+
+#(1) GPL-compatible doesn't mean that we're distributing Python under
+    #the GPL.  All Python licenses, unlike the GPL, let you distribute
+    #a modified version without making your changes open source.  The
+    #GPL-compatible licenses make it possible to combine Python with
+    #other software that is released under the GPL; the others don't.
+
+#(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
+    #because its license has a choice of law clause.  According to
+    #CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
+    #is "not incompatible" with the GPL.
+
+#Thanks to the many outside volunteers who have worked under Guido's
+#direction to make these releases possible.
+
+
+#B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
+#===============================================================
+
+#PSF LICENSE AGREEMENT FOR PYTHON 2.4
+#------------------------------------
+
+#1. This LICENSE AGREEMENT is between the Python Software Foundation
+#("PSF"), and the Individual or Organization ("Licensee") accessing and
+#otherwise using Python 2.4 software in source or binary form and its
+#associated documentation.
+
+#2. Subject to the terms and conditions of this License Agreement, PSF
+#hereby grants Licensee a nonexclusive, royalty-free, world-wide
+#license to reproduce, analyze, test, perform and/or display publicly,
+#prepare derivative works, distribute, and otherwise use Python 2.4
+#alone or in any derivative version, provided, however, that PSF's
+#License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+#2001, 2002, 2003, 2004 Python Software Foundation; All Rights Reserved"
+#are retained in Python 2.4 alone or in any derivative version prepared
+#by Licensee.
+
+#3. In the event Licensee prepares a derivative work that is based on
+#or incorporates Python 2.4 or any part thereof, and wants to make
+#the derivative work available to others as provided herein, then
+#Licensee hereby agrees to include in any such work a brief summary of
+#the changes made to Python 2.4.
+
+#4. PSF is making Python 2.4 available to Licensee on an "AS IS"
+#basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+#IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+#DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+#FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.4 WILL NOT
+#INFRINGE ANY THIRD PARTY RIGHTS.
+
+#5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+#2.4 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+#A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.4,
+#OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+#6. This License Agreement will automatically terminate upon a material
+#breach of its terms and conditions.
+
+#7. Nothing in this License Agreement shall be deemed to create any
+#relationship of agency, partnership, or joint venture between PSF and
+#Licensee.  This License Agreement does not grant permission to use PSF
+#trademarks or trade name in a trademark sense to endorse or promote
+#products or services of Licensee, or any third party.
+
+#8. By copying, installing or otherwise using Python 2.4, Licensee
+#agrees to be bound by the terms and conditions of this License
+#Agreement.
+
+
+#BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
+#-------------------------------------------
+
+#BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+#1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
+#office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+#Individual or Organization ("Licensee") accessing and otherwise using
+#this software in source or binary form and its associated
+#documentation ("the Software").
+
+#2. Subject to the terms and conditions of this BeOpen Python License
+#Agreement, BeOpen hereby grants Licensee a non-exclusive,
+#royalty-free, world-wide license to reproduce, analyze, test, perform
+#and/or display publicly, prepare derivative works, distribute, and
+#otherwise use the Software alone or in any derivative version,
+#provided, however, that the BeOpen Python License is retained in the
+#Software, alone or in any derivative version prepared by Licensee.
+
+#3. BeOpen is making the Software available to Licensee on an "AS IS"
+#basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+#IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+#DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+#FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+#INFRINGE ANY THIRD PARTY RIGHTS.
+
+#4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+#SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+#AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+#DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+#5. This License Agreement will automatically terminate upon a material
+#breach of its terms and conditions.
+
+#6. This License Agreement shall be governed by and interpreted in all
+#respects by the law of the State of California, excluding conflict of
+#law provisions.  Nothing in this License Agreement shall be deemed to
+#create any relationship of agency, partnership, or joint venture
+#between BeOpen and Licensee.  This License Agreement does not grant
+#permission to use BeOpen trademarks or trade names in a trademark
+#sense to endorse or promote products or services of Licensee, or any
+#third party.  As an exception, the "BeOpen Python" logos available at
+#http://www.pythonlabs.com/logos.html may be used according to the
+#permissions granted on that web page.
+
+#7. By copying, installing or otherwise using the software, Licensee
+#agrees to be bound by the terms and conditions of this License
+#Agreement.
+
+
+#CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
+#---------------------------------------
+
+#1. This LICENSE AGREEMENT is between the Corporation for National
+#Research Initiatives, having an office at 1895 Preston White Drive,
+#Reston, VA 20191 ("CNRI"), and the Individual or Organization
+#("Licensee") accessing and otherwise using Python 1.6.1 software in
+#source or binary form and its associated documentation.
+
+#2. Subject to the terms and conditions of this License Agreement, CNRI
+#hereby grants Licensee a nonexclusive, royalty-free, world-wide
+#license to reproduce, analyze, test, perform and/or display publicly,
+#prepare derivative works, distribute, and otherwise use Python 1.6.1
+#alone or in any derivative version, provided, however, that CNRI's
+#License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+#1995-2001 Corporation for National Research Initiatives; All Rights
+#Reserved" are retained in Python 1.6.1 alone or in any derivative
+#version prepared by Licensee.  Alternately, in lieu of CNRI's License
+#Agreement, Licensee may substitute the following text (omitting the
+#quotes): "Python 1.6.1 is made available subject to the terms and
+#conditions in CNRI's License Agreement.  This Agreement together with
+#Python 1.6.1 may be located on the Internet using the following
+#unique, persistent identifier (known as a handle): 1895.22/1013.  This
+#Agreement may also be obtained from a proxy server on the Internet
+#using the following URL: http://hdl.handle.net/1895.22/1013".
+
+#3. In the event Licensee prepares a derivative work that is based on
+#or incorporates Python 1.6.1 or any part thereof, and wants to make
+#the derivative work available to others as provided herein, then
+#Licensee hereby agrees to include in any such work a brief summary of
+#the changes made to Python 1.6.1.
+
+#4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+#basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+#IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+#DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+#FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+#INFRINGE ANY THIRD PARTY RIGHTS.
+
+#5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+#1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+#A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+#OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+#6. This License Agreement will automatically terminate upon a material
+#breach of its terms and conditions.
+
+#7. This License Agreement shall be governed by the federal
+#intellectual property law of the United States, including without
+#limitation the federal copyright law, and, to the extent such
+#U.S. federal law does not apply, by the law of the Commonwealth of
+#Virginia, excluding Virginia's conflict of law provisions.
+#Notwithstanding the foregoing, with regard to derivative works based
+#on Python 1.6.1 that incorporate non-separable material that was
+#previously distributed under the GNU General Public License (GPL), the
+#law of the Commonwealth of Virginia shall govern this License
+#Agreement only as to issues arising under or with respect to
+#Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
+#License Agreement shall be deemed to create any relationship of
+#agency, partnership, or joint venture between CNRI and Licensee.  This
+#License Agreement does not grant permission to use CNRI trademarks or
+#trade name in a trademark sense to endorse or promote products or
+#services of Licensee, or any third party.
+
+#8. By clicking on the "ACCEPT" button where indicated, or by copying,
+#installing or otherwise using Python 1.6.1, Licensee agrees to be
+#bound by the terms and conditions of this License Agreement.
+
+        #ACCEPT
+
+
+#CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
+#--------------------------------------------------
+
+#Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+#The Netherlands.  All rights reserved.
+
+#Permission to use, copy, modify, and distribute this software and its
+#documentation for any purpose and without fee is hereby granted,
+#provided that the above copyright notice appear in all copies and that
+#both that copyright notice and this permission notice appear in
+#supporting documentation, and that the name of Stichting Mathematisch
+#Centrum or CWI not be used in advertising or publicity pertaining to
+#distribution of the software without specific, written prior
+#permission.
+
+#STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+#THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+#FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+#FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+#WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+#ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+#OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+# Copyright (c) 2001, 2002, 2003, 2004 Python Software Foundation; All Rights Reserved
+# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
+
+from dircache import listdir
+from shutil import copy
+import os
+
+def copytree(src, dst, symlinks=False):
+  """Recursively copy a directory tree using copy().
+
+  If exception(s) occur, an Error is raised with a list of reasons.
+  dst dir must exist
+
+  If the optional symlinks flag is true, symbolic links in the
+  source tree result in symbolic links in the destination tree; if
+  it is false, the contents of the files pointed to by symbolic
+  links are copied.
+  
+  Modified version of shutil.copytree that do not require
+  destination folder to exist.
+  """
+  names = listdir(src)
+  errors = []
+  for name in names:
+    srcname = os.path.join(src, name)
+    dstname = os.path.join(dst, name)
+    try:
+      if symlinks and os.path.islink(srcname):
+        linkto = os.readlink(srcname)
+        os.symlink(linkto, dstname)
+      elif os.path.isdir(srcname):
+        if not os.path.exists(dstname):
+          os.makedirs(dstname)
+        copytree(srcname, dstname, symlinks)
+      else:
+        copy(srcname, dstname)
+    except (IOError, os.error), why:
+      errors.append((srcname, dstname, 'Error: ' + str(why.strerror)))
+  if errors:
+    raise Error, errors




More information about the Erp5-report mailing list