Skip to content

Commit c3be8f8

Browse files
authored
Merge pull request #241 from ToFuProject/Issue240_BetterRefComMsg
Issue240 better ref com msg
2 parents 79dbbea + 3e1e885 commit c3be8f8

File tree

3 files changed

+30
-5
lines changed

3 files changed

+30
-5
lines changed

datastock/_class1.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,7 @@ def get_ref_vector(
618618
quant=None,
619619
name=None,
620620
units=None,
621+
dref_vector_name=None,
621622
# exclude from search
622623
key_exclude=None,
623624
ref_exclude=None,
@@ -670,6 +671,7 @@ def get_ref_vector(
670671
quant=quant,
671672
name=name,
672673
units=units,
674+
dref_vector_name=dref_vector_name,
673675
# exclude from search
674676
key_exclude=key_exclude,
675677
ref_exclude=ref_exclude,
@@ -690,6 +692,7 @@ def get_ref_vector_common(
690692
quant=None,
691693
name=None,
692694
units=None,
695+
dref_vector_name=None,
693696
# strategy for choosing common ref vector
694697
strategy=None,
695698
strategy_bounds=None,
@@ -726,6 +729,7 @@ def get_ref_vector_common(
726729
quant=quant,
727730
name=name,
728731
units=units,
732+
dref_vector_name=dref_vector_name,
729733
# strategy for choosing common ref vector
730734
strategy=strategy,
731735
strategy_bounds=strategy_bounds,
@@ -1079,4 +1083,4 @@ def show_links(self):
10791083

10801084
__all__ = [
10811085
sorted([k0 for k0 in locals() if k0.startswith('DataStock')])[-1]
1082-
]
1086+
]

datastock/_class1_interpolate.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,6 @@ def _x01_grid(
842842
ix1=None,
843843
):
844844

845-
846845
# ------------
847846
# trivial case
848847

datastock/_class1_uniformize.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def get_ref_vector(
4343
quant=None,
4444
name=None,
4545
units=None,
46+
dref_vector_name=None,
4647
# exclude from search
4748
key_exclude=None,
4849
ref_exclude=None,
@@ -141,8 +142,13 @@ def get_ref_vector(
141142

142143
if hasref is not False:
143144

145+
lp = [
146+
('dim', dim),
147+
('quant', quant),
148+
('name', name),
149+
('units', units),
150+
]
144151

145-
lp = [('dim', dim), ('quant', quant), ('name', name), ('units', units)]
146152
lk_vect = [
147153
k0 for k0, v0 in ddata.items()
148154
if v0['monot'] == (True,)
@@ -181,13 +187,18 @@ def get_ref_vector(
181187
hasref = True
182188

183189
else:
190+
lstr = [f"\t- {p0} = {p1}" for (p0, p1) in lp]
184191
msg = (
185192
f"Multiple possible vectors found:\n{lk_vect}\n"
186193
f"\t- key0: {key0}\n"
194+
f"\t- key: {key}\n"
187195
f"\t- ref: {ref}\n"
188196
f"\t- hasref: {hasref}\n"
189197
f"\t- refok: {refok}\n"
198+
+ "Provided:\n" + "\n".join(lstr) + "\n"
190199
)
200+
if dref_vector_name is not None:
201+
msg += f"From '{dref_vector_name}'\n"
191202
warnings.warn(msg)
192203
hasvect = False
193204
else:
@@ -440,6 +451,7 @@ def _get_ref_vector_find_identical(
440451
quant=None,
441452
name=None,
442453
units=None,
454+
dref_vector_name=None,
443455
# for comparison
444456
val=None
445457
):
@@ -456,6 +468,7 @@ def _get_ref_vector_find_identical(
456468
quant=quant,
457469
name=name,
458470
units=units,
471+
dref_vector_name=dref_vector_name,
459472
values=None,
460473
indices=None,
461474
)[:4]
@@ -496,6 +509,7 @@ def get_ref_vector_common(
496509
quant=None,
497510
name=None,
498511
units=None,
512+
dref_vector_name=None,
499513
# exclude from search
500514
key_exclude=None,
501515
ref_exclude=None,
@@ -564,6 +578,7 @@ def get_ref_vector_common(
564578
quant=quant,
565579
name=name,
566580
units=units,
581+
dref_vector_name=dref_vector_name,
567582
# exclude from search
568583
key_exclude=key_exclude,
569584
ref_exclude=ref_exclude,
@@ -741,6 +756,7 @@ def get_ref_vector_common(
741756
quant=quant,
742757
name=name,
743758
units=units,
759+
dref_vector_name=dref_vector_name,
744760
#
745761
dkeys=dkeys,
746762
key_vector=key_vector,
@@ -772,6 +788,7 @@ def _get_ref_vector_common_values(
772788
quant=None,
773789
name=None,
774790
units=None,
791+
dref_vector_name=None,
775792
#
776793
dkeys=None,
777794
key_vector=None,
@@ -807,6 +824,7 @@ def _get_ref_vector_common_values(
807824
quant=quant,
808825
name=name,
809826
units=units,
827+
dref_vector_name=dref_vector_name,
810828
# exclude from search
811829
key_exclude=key_exclude,
812830
ref_exclude=ref_exclude,
@@ -972,7 +990,11 @@ def _uniformize_check(
972990
for k0, v0 in dparam.items():
973991
lout = [
974992
k1 for k1 in v0['keys']
975-
if coll.get_ref_vector(key0=k1, **{param: k0})[3] is None
993+
if coll.get_ref_vector(
994+
key0=k1,
995+
dref_vector_name=f"param '{k0}'",
996+
**{param: k0},
997+
)[3] is None
976998
]
977999
if len(lout) > 0:
9781000
dfails[k0] = lout
@@ -1121,4 +1143,4 @@ def uniformize(
11211143
if returnas == 'dataframe':
11221144
pass
11231145

1124-
return stu
1146+
return stu

0 commit comments

Comments
 (0)