now works properly for labels specified as index (instead of string)
This commit is contained in:
parent
73640587d5
commit
7c72ede29d
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys,re
|
||||||
import damask
|
import damask
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
@ -32,13 +32,16 @@ parser.set_defaults(label = [],
|
||||||
|
|
||||||
(options,filenames) = parser.parse_args()
|
(options,filenames) = parser.parse_args()
|
||||||
|
|
||||||
|
pattern = [re.compile('^()(.+)$'), # label pattern for scalar
|
||||||
|
re.compile('^(\d+_)?(.+)$'), # label pattern for multidimension
|
||||||
|
]
|
||||||
|
|
||||||
# --- loop over input files -------------------------------------------------------------------------
|
# --- loop over input files -------------------------------------------------------------------------
|
||||||
|
|
||||||
if filenames == []: filenames = [None]
|
if filenames == []: filenames = [None]
|
||||||
|
|
||||||
for name in filenames:
|
for name in filenames:
|
||||||
try:
|
try: table = damask.ASCIItable(name = name,
|
||||||
table = damask.ASCIItable(name = name,
|
|
||||||
buffered = False)
|
buffered = False)
|
||||||
except: continue
|
except: continue
|
||||||
damask.util.report(scriptName,name)
|
damask.util.report(scriptName,name)
|
||||||
|
@ -63,8 +66,9 @@ for name in filenames:
|
||||||
for i,index in enumerate(indices):
|
for i,index in enumerate(indices):
|
||||||
if index == -1: remarks.append('label {} not present...'.format(options.label[i]))
|
if index == -1: remarks.append('label {} not present...'.format(options.label[i]))
|
||||||
else:
|
else:
|
||||||
|
m = pattern[dimensions[i]>1].match(table.labels[index]) # isolate label name
|
||||||
for j in xrange(dimensions[i]):
|
for j in xrange(dimensions[i]):
|
||||||
table.labels[index+j] = table.labels[index+j].replace(options.label[i],options.substitute[i])
|
table.labels[index+j] = table.labels[index+j].replace(m.group(2),options.substitute[i]) # replace name with substitute
|
||||||
|
|
||||||
if remarks != []: damask.util.croak(remarks)
|
if remarks != []: damask.util.croak(remarks)
|
||||||
if errors != []:
|
if errors != []:
|
||||||
|
|
Loading…
Reference in New Issue