1 # Copyright (C) 2010 Alberto Gomez-Casado
2 # W. Trevor King <wking@drexel.edu>
4 # This file is part of Hooke.
6 # Hooke is free software: you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation, either
9 # version 3 of the License, or (at your option) any later version.
11 # Hooke is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU Lesser General Public License for more details.
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with Hooke. If not, see
18 # <http://www.gnu.org/licenses/>.
22 Copies all .ibw files contained in a folder and its subfolders into a single folder. Useful for force maps.
25 python FMjoin.py origindir destdir
34 print 'You must at least specify origin and destination folders.'
39 if os.path.exists(origin):
40 if os.path.exists(dest):
41 if os.listdir(dest)!=[]:
42 print 'Destination folder is not empty! Use another folder.'
45 print 'Destination folder does not exist, will create it'
48 print 'You provided a wrong origin folder name, try again.'
50 origin=os.path.abspath(origin)
51 dest=os.path.abspath(dest)
53 for root, dirs, files in os.walk(origin):
54 for filename in files:
55 if filename.split('.')[1]!="ibw":
57 filepath=os.path.join(root,filename)
58 #to avoid overwriting, we collapse unique paths into filenames
59 rawdest=filepath.split(os.path.commonprefix([origin, filepath]))[1]
60 rawdest=rawdest.replace('/','') #for linux
61 rawdest=rawdest.replace('\\','') #for windows
62 destfile=os.path.join(dest,rawdest)
63 print 'Copying '+rawdest
64 shutil.copy(filepath,destfile)
68 if __name__ == '__main__':
69 sys.exit(main(*sys.argv))