Skip to content

Commit 8716dc0

Browse files
committed
Make verbose a private property, and add getter and setters for it, to propagate verbosity
1 parent 79a181d commit 8716dc0

File tree

8 files changed

+174
-19
lines changed

8 files changed

+174
-19
lines changed

sed/calibrator/delay.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ def __init__(
4848
else:
4949
self._config = {}
5050

51-
self.verbose = verbose
52-
set_verbosity(logger, self.verbose)
51+
self._verbose = verbose
52+
set_verbosity(logger, self._verbose)
5353

5454
self.adc_column: str = self._config["dataframe"].get("adc_column", None)
5555
self.delay_column: str = self._config["dataframe"]["delay_column"]
@@ -60,6 +60,25 @@ def __init__(
6060
self.calibration: dict[str, Any] = self._config["delay"].get("calibration", {})
6161
self.offsets: dict[str, Any] = self._config["delay"].get("offsets", {})
6262

63+
@property
64+
def verbose(self) -> bool:
65+
"""Accessor to the verbosity flag.
66+
67+
Returns:
68+
bool: Verbosity flag.
69+
"""
70+
return self._verbose
71+
72+
@verbose.setter
73+
def verbose(self, verbose: bool):
74+
"""Setter for the verbosity.
75+
76+
Args:
77+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
78+
"""
79+
self._verbose = verbose
80+
set_verbosity(logger, self._verbose)
81+
6382
def append_delay_axis(
6483
self,
6584
df: pd.DataFrame | dask.dataframe.DataFrame,

sed/calibrator/energy.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ def __init__(
9191

9292
self._config = config
9393

94-
self.verbose = verbose
95-
set_verbosity(logger, self.verbose)
94+
self._verbose = verbose
95+
set_verbosity(logger, self._verbose)
9696

9797
self.loader = loader
9898
self.biases: np.ndarray = None
@@ -125,6 +125,25 @@ def __init__(
125125
self.offsets: dict[str, Any] = self._config["energy"].get("offsets", {})
126126
self.correction: dict[str, Any] = self._config["energy"].get("correction", {})
127127

128+
@property
129+
def verbose(self) -> bool:
130+
"""Accessor to the verbosity flag.
131+
132+
Returns:
133+
bool: Verbosity flag.
134+
"""
135+
return self._verbose
136+
137+
@verbose.setter
138+
def verbose(self, verbose: bool):
139+
"""Setter for the verbosity.
140+
141+
Args:
142+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
143+
"""
144+
self._verbose = verbose
145+
set_verbosity(logger, self._verbose)
146+
128147
@property
129148
def ntraces(self) -> int:
130149
"""Property returning the number of traces.

sed/calibrator/momentum.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def __init__(
7979

8080
self._config = config
8181

82-
self.verbose = verbose
83-
set_verbosity(logger, self.verbose)
82+
self._verbose = verbose
83+
set_verbosity(logger, self._verbose)
8484

8585
self.image: np.ndarray = None
8686
self.img_ndim: int = None
@@ -132,6 +132,25 @@ def __init__(
132132

133133
self._state: int = 0
134134

135+
@property
136+
def verbose(self) -> bool:
137+
"""Accessor to the verbosity flag.
138+
139+
Returns:
140+
bool: Verbosity flag.
141+
"""
142+
return self._verbose
143+
144+
@verbose.setter
145+
def verbose(self, verbose: bool):
146+
"""Setter for the verbosity.
147+
148+
Args:
149+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
150+
"""
151+
self._verbose = verbose
152+
set_verbosity(logger, self._verbose)
153+
135154
@property
136155
def features(self) -> dict:
137156
"""Dictionary of detected features for the symmetrization process.
@@ -1241,7 +1260,7 @@ def apply_func(apply: bool): # noqa: ARG001
12411260
transformations["creation_date"] = datetime.now().timestamp()
12421261
self.transformations = transformations
12431262

1244-
if self.verbose:
1263+
if self._verbose:
12451264
plt.figure()
12461265
subs = 20
12471266
plt.title("Final Deformation field")

sed/core/processor.py

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,10 @@ def __init__(
117117
logger.debug(f"Use {num_cores} cores for processing.")
118118

119119
if verbose is None:
120-
self.verbose = self._config["core"].get("verbose", True)
120+
self._verbose = self._config["core"].get("verbose", True)
121121
else:
122-
self.verbose = verbose
123-
set_verbosity(logger, self.verbose)
122+
self._verbose = verbose
123+
set_verbosity(logger, self._verbose)
124124

125125
self._dataframe: pd.DataFrame | ddf.DataFrame = None
126126
self._timed_dataframe: pd.DataFrame | ddf.DataFrame = None
@@ -148,17 +148,17 @@ def __init__(
148148
verbose=verbose,
149149
),
150150
config=self._config,
151-
verbose=self.verbose,
151+
verbose=self._verbose,
152152
)
153153

154154
self.mc = MomentumCorrector(
155155
config=self._config,
156-
verbose=self.verbose,
156+
verbose=self._verbose,
157157
)
158158

159159
self.dc = DelayCalibrator(
160160
config=self._config,
161-
verbose=self.verbose,
161+
verbose=self._verbose,
162162
)
163163

164164
self.use_copy_tool = self._config.get("core", {}).get(
@@ -227,6 +227,29 @@ def _repr_html_(self):
227227
# """Provides an overview panel with plots of different data attributes."""
228228
# self.view_event_histogram(dfpid=2, backend="matplotlib")
229229

230+
@property
231+
def verbose(self) -> bool:
232+
"""Accessor to the verbosity flag.
233+
234+
Returns:
235+
bool: Verbosity flag.
236+
"""
237+
return self._verbose
238+
239+
@verbose.setter
240+
def verbose(self, verbose: bool):
241+
"""Setter for the verbosity.
242+
243+
Args:
244+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
245+
"""
246+
self._verbose = verbose
247+
set_verbosity(logger, self._verbose)
248+
self.mc.verbose = verbose
249+
self.ec.verbose = verbose
250+
self.dc.verbose = verbose
251+
self.loader.verbose = verbose
252+
230253
@property
231254
def dataframe(self) -> pd.DataFrame | ddf.DataFrame:
232255
"""Accessor to the underlying dataframe.
@@ -629,7 +652,7 @@ def generate_splinewarp(
629652

630653
self.mc.spline_warp_estimate(use_center=use_center, **kwds)
631654

632-
if self.mc.slice is not None and self.verbose:
655+
if self.mc.slice is not None and self._verbose:
633656
print("Original slice with reference features")
634657
self.mc.view(annotated=True, backend="bokeh", crosshair=True)
635658

@@ -1334,7 +1357,7 @@ def calibrate_energy_axis(
13341357
energy_scale=energy_scale,
13351358
**kwds,
13361359
)
1337-
if self.verbose:
1360+
if self._verbose:
13381361
self.ec.view(
13391362
traces=self.ec.traces_normed,
13401363
xaxis=self.ec.calibration["axis"],

sed/loader/base/loader.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,25 @@ def __init__(
4242
self.files: list[str] = []
4343
self.runs: list[str] = []
4444
self.metadata: dict[Any, Any] = {}
45-
self.verbose = verbose
45+
self._verbose = verbose
46+
47+
@property
48+
def verbose(self) -> bool:
49+
"""Accessor to the verbosity flag.
50+
51+
Returns:
52+
bool: Verbosity flag.
53+
"""
54+
return self._verbose
55+
56+
@verbose.setter
57+
def verbose(self, verbose: bool):
58+
"""Setter for the verbosity.
59+
60+
Args:
61+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
62+
"""
63+
self._verbose = verbose
4664

4765
@abstractmethod
4866
def read_dataframe(

sed/loader/flash/loader.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,31 @@ def __init__(self, config: dict, verbose: bool = True) -> None:
5454
"""
5555
super().__init__(config=config, verbose=verbose)
5656

57-
set_verbosity(logger, self.verbose)
57+
set_verbosity(logger, self._verbose)
5858

5959
self.instrument: str = self._config["core"].get("instrument", "hextof") # default is hextof
6060
self.raw_dir: str = None
6161
self.processed_dir: str = None
6262

63+
@property
64+
def verbose(self) -> bool:
65+
"""Accessor to the verbosity flag.
66+
67+
Returns:
68+
bool: Verbosity flag.
69+
"""
70+
return self._verbose
71+
72+
@verbose.setter
73+
def verbose(self, verbose: bool):
74+
"""Setter for the verbosity.
75+
76+
Args:
77+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
78+
"""
79+
self._verbose = verbose
80+
set_verbosity(logger, self._verbose)
81+
6382
def _initialize_dirs(self) -> None:
6483
"""
6584
Initializes the directories on Maxwell based on configuration. If paths is provided in

sed/loader/mpes/loader.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,13 +570,32 @@ def __init__(
570570
):
571571
super().__init__(config=config, verbose=verbose)
572572

573-
set_verbosity(logger, self.verbose)
573+
set_verbosity(logger, self._verbose)
574574

575575
self.read_timestamps = self._config.get("dataframe", {}).get(
576576
"read_timestamps",
577577
False,
578578
)
579579

580+
@property
581+
def verbose(self) -> bool:
582+
"""Accessor to the verbosity flag.
583+
584+
Returns:
585+
bool: Verbosity flag.
586+
"""
587+
return self._verbose
588+
589+
@verbose.setter
590+
def verbose(self, verbose: bool):
591+
"""Setter for the verbosity.
592+
593+
Args:
594+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
595+
"""
596+
self._verbose = verbose
597+
set_verbosity(logger, self._verbose)
598+
580599
def read_dataframe(
581600
self,
582601
files: str | Sequence[str] = None,

sed/loader/sxp/loader.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class SXPLoader(BaseLoader):
5656
def __init__(self, config: dict, verbose: bool = True) -> None:
5757
super().__init__(config=config, verbose=verbose)
5858

59-
set_verbosity(logger, self.verbose)
59+
set_verbosity(logger, self._verbose)
6060

6161
self.multi_index = ["trainId", "pulseId", "electronId"]
6262
self.index_per_electron: MultiIndex = None
@@ -66,6 +66,25 @@ def __init__(self, config: dict, verbose: bool = True) -> None:
6666
self.raw_dir: str = None
6767
self.processed_dir: str = None
6868

69+
@property
70+
def verbose(self) -> bool:
71+
"""Accessor to the verbosity flag.
72+
73+
Returns:
74+
bool: Verbosity flag.
75+
"""
76+
return self._verbose
77+
78+
@verbose.setter
79+
def verbose(self, verbose: bool):
80+
"""Setter for the verbosity.
81+
82+
Args:
83+
verbose (bool): Option to turn on verbose output. Sets loglevel to INFO.
84+
"""
85+
self._verbose = verbose
86+
set_verbosity(logger, self._verbose)
87+
6988
def _initialize_dirs(self):
7089
"""
7190
Initializes the paths based on the configuration.

0 commit comments

Comments
 (0)