From ad9639f2f707a54fda17e07011619eb18093bccf Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Wed, 14 Nov 2012 09:40:45 +0000 Subject: [PATCH] check for existence of files before sym-linking to them. --- code/setup/setup_code.py | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/code/setup/setup_code.py b/code/setup/setup_code.py index 4112bbb04..b03eecf4a 100755 --- a/code/setup/setup_code.py +++ b/code/setup/setup_code.py @@ -45,30 +45,30 @@ architectures = { } bin_link = { \ - '' : [ - 'DAMASK_spectral.exe', - ], - } + '.' : [ + 'DAMASK_spectral.exe', + ], + } damaskEnv = damask.Environment('../../') # script location relative to root baseDir = damaskEnv.relPath('code/') for arch in architectures: - me = architectures[arch] - try: - parentFile = open(baseDir+os.sep+me['parent']) - parentContent = parentFile.readlines() - parentFile.close() - except IOError: - print 'unable to open',me['parent'] - continue + me = architectures[arch] + try: + parentFile = open(baseDir+os.sep+me['parent']) + parentContent = parentFile.readlines() + parentFile.close() + except IOError: + print 'unable to open',me['parent'] + continue - - for version in me['versions'][1:]: - childFile = open(baseDir+os.sep+version.join(os.path.splitext(me['parent'])),'w') - for line in parentContent: - childFile.write(line.replace(me['versions'][0],version)) - childFile.close() + + for version in me['versions'][1:]: + childFile = open(baseDir+os.sep+version.join(os.path.splitext(me['parent'])),'w') + for line in parentContent: + childFile.write(line.replace(me['versions'][0],version)) + childFile.close() # changing dirs in makefile makefile = open(os.path.join(baseDir,'Makefile')) @@ -91,14 +91,14 @@ if (options.spectralCompile): os.system('make --directory %s clean'%(baseDir)) os.system('make --directory %s %s'%(baseDir,' '.join(options.makeOptions))) +# processing symbolic linking list for dir in bin_link: for file in bin_link[dir]: src = os.path.abspath(os.path.join(baseDir,dir,file)) - if (file == ''): - sym_link = os.path.abspath(os.path.join(damaskEnv.binDir(),dir)) - else: - sym_link = os.path.abspath(os.path.join(damaskEnv.binDir(),os.path.splitext(file)[0])) - print sym_link,'-->',src - if os.path.lexists(sym_link): - os.remove(sym_link) - os.symlink(src,sym_link) + if os.path.exists(src): + sym_link = os.path.abspath(os.path.join(damaskEnv.binDir(),\ + {True: dir, + False:os.path.splitext(file)[0]}[file == ''])) + if os.path.lexists(sym_link): os.remove(sym_link) + os.symlink(src,sym_link) + print sym_link,'-->',src