85 basedir = os.path.abspath(indir)
87 print (
'Looking for configurations in subdirectories of', indir)
89 types = [
'minutes10',
'minutes30',
'run']
90 searchparams = [(
'Cosmics',
'cosmics'), (
'Collisions',
'collisions'),
91 (
'HeavyIons',
'heavyions')]
96 for dir1, fn
in searchparams:
98 filepathdict[dir1] = {}
100 print (
' ', t,
'...',)
101 fname = os.path.join(basedir, dir1,
102 '%s_%s.current.hcfg' % (fn, t))
103 if os.access(fname, os.R_OK):
105 if os.path.islink(fname)
and os.path.isfile(fname):
106 realname = os.readlink(fname)
107 if not os.path.isabs(realname):
108 realname = os.path.join(os.path.dirname(fname), realname)
109 print (
'is symlink to', realname)
110 filepathdict[dir1][t] = realname
111 filelist.append(realname)
113 print (
'but is not valid symlink')
116 if filepathdict[dir1] == {}:
117 del filepathdict[dir1]
119 commonpart = os.path.dirname(os.path.commonprefix(filelist)) + os.sep
121 filepathdict[
'basename'] = commonpart
124 for dir1, fn
in searchparams:
127 filepathdict[dir1][t] = filepathdict[dir1][t].
replace(commonpart,
'')
132 print (
'-------------------------------------')
133 print (
'File path dictionary to upload:')
135 print (
'-------------------------------------')
138 val = updict.get(
'phconfig', {})
139 if isinstance(val, str):
141 val[
'filepaths'] = filepathdict
142 updict[
'phconfig'] =
'"%s"' % val