diff -urN rt_v62/dat.py rt_v63/dat.py --- rt_v62/dat.py 2018-06-26 23:15:29.000000000 +0900 +++ rt_v63/dat.py 2018-07-16 17:13:33.000000000 +0900 @@ -128,6 +128,15 @@ kinds = [ 'square', 'circle', 'triangle', 'ball', 'pipe_side', 'cone_side' ] kinds += ops +def set_d_etc_if_not(d_src, d_dst): + for k in [ 'def_col', 'def_col_r', 'rtd', 'hide', 'tsc' ]: + if k not in d_dst and k in d_src: + d_dst[k] = d_src.get(k) + k = 'rxs' + v = d_dst.get(k, []) + d_src.get(k, []) + if v: + d_dst[k] = v + def data_setup_exp(data, in_op): return sum( map( lambda d: d_setup(d, in_op), data ), [] ) @@ -396,9 +405,7 @@ for d_ in lst: d_['maps'] = d_.get('maps', []) + d.get('maps', []) - for k in [ 'def_col', 'def_col_r', 'rtd', 'hide' ]: - if k not in d_ and k in d: - d_[k] = d.get(k) + set_d_etc_if_not(d, d_) if d.get('not', False): d_['not'] = not d_.get('not', False) @@ -437,9 +444,7 @@ for d_ in args: d_['maps'] = d_.get('maps', []) + d.get('maps', []) - for k in [ 'def_col', 'def_col_r', 'rtd', 'hide' ]: - if k not in d_ and k in d: - d_[k] = d.get(k) + set_d_etc_if_not(d, d_) ds += d_setup(d_, True)