Skip to content

Commit f0ea12e

Browse files
committed
Refactor logging in calibplot, datastore, schismcalibplotui, and schismstudy to use logger instead of print statements
1 parent cb0f89f commit f0ea12e

4 files changed

Lines changed: 28 additions & 32 deletions

File tree

schismviz/calibplot.py

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import sys
1818
import logging
1919

20+
logger = logging.getLogger(__name__)
21+
2022
## - Generic Plotting Functions ##
2123
import numpy as np
2224
import copy
@@ -42,8 +44,7 @@ def parse_time_window(timewindow):
4244
"error in calibplot.parse_time_window, while parsing timewindow. Timewindow must be in format yyyy-mm-dd:yyyy-mm-dd or "
4345
+ "yyyy-mm-dd hhmm:yyyy-mm-dd hhmm. Ignoring timewindow"
4446
)
45-
print(errmsg)
46-
logging.error(errmsg)
47+
logger.warning(errmsg)
4748
return return_list
4849

4950

@@ -72,8 +73,7 @@ def tsplot(dflist, names, timewindow=None, zoom_inst_plot=False):
7273
end_dt = parts[1]
7374
except:
7475
errmsg = "error in calibplot.tsplot"
75-
print(errmsg)
76-
logging.error(errmsg)
76+
logger.warning(errmsg)
7777

7878
from bokeh.models import DatetimeTickFormatter
7979

@@ -296,13 +296,11 @@ def calculate_metrics(dflist, names, index_x=0, location=None):
296296
metrics_calculated = True
297297
else:
298298
errmsg = "calibplot.calculate_metrics: no y_series data found. Metrics can not be calculated.\n"
299-
print(errmsg)
300-
logging.info(errmsg)
299+
logger.debug(errmsg)
301300

302301
else:
303302
errmsg = "calibplot.calculate_metrics: no x_series data found. Metrics can not be calculated.\n"
304-
print(errmsg)
305-
logging.info(errmsg)
303+
logger.debug(errmsg)
306304
dfmetrics = None
307305

308306
if metrics_calculated:
@@ -654,7 +652,7 @@ def create_layout(
654652
10: "(j)",
655653
}
656654
if scatter_plot is None and dfdisplayed_metrics is None and metrics_table is None:
657-
print(
655+
logger.debug(
658656
"build_calib_plot_template: cplot, dfdisplayedmetrics, metrics_table, and kdeplot are all None for location, vartype="
659657
+ location.name
660658
+ ","
@@ -804,18 +802,17 @@ def load_data_for_plotting(studies, location, vartype, timewindow):
804802
if not success: # try processing it now
805803
p.process()
806804
success = p.store_processed()
807-
print('about to load data for '+str(p))
805+
logger.debug('about to load data for '+str(p))
808806
success = p.load_processed(
809807
timewindow=timewindow, invert_series=invert_series
810808
)
811-
print('success='+str(success))
809+
logger.debug('success='+str(success))
812810
if not success:
813811
errmsg = "unable to load data for study|location %s|%s" % (
814812
str(study),
815813
str(location),
816814
)
817-
print(errmsg)
818-
logging.info(errmsg)
815+
logger.warning(errmsg)
819816
all_data_found = False
820817
if not all_data_found:
821818
errmsg = (
@@ -827,14 +824,7 @@ def load_data_for_plotting(studies, location, vartype, timewindow):
827824
+ str(timewindow)
828825
+ "\n"
829826
)
830-
print(
831-
"==============================================================================="
832-
)
833-
print(errmsg)
834-
print(
835-
"==============================================================================="
836-
)
837-
logging.info(errmsg)
827+
logger.warning(errmsg)
838828
return None, None
839829
return all_data_found, pp
840830

@@ -1123,7 +1113,7 @@ def create_hv_metrics_table(
11231113

11241114
for m in metrics_list:
11251115
if m not in metrics_list_dict:
1126-
print(
1116+
logger.error(
11271117
f"error in calibplot.create_hv_metrics_table: {m} was not a valid metric specification. exiting."
11281118
)
11291119
exit(0)
@@ -1255,14 +1245,14 @@ def create_metrics_table_and_metrics_df(
12551245
for m in metrics_table_list:
12561246
if m not in col_rename_dict:
12571247
metrics_list_ok = False
1258-
print("unrecognized: " + m)
1248+
logger.warning("unrecognized: " + m)
12591249
if metrics_list_ok:
12601250
metrics_list_for_hv_table = metrics_table_list
12611251
for m in metrics_table_list:
12621252
if m not in df_displayed_metrics_cols:
12631253
df_displayed_metrics_cols.append(m)
12641254
else:
1265-
print(
1255+
logger.warning(
12661256
"WARNING: metrics_table_list specified, but 1 or more values is not acceptable"
12671257
)
12681258

@@ -1339,14 +1329,14 @@ def create_metrics_table_and_metrics_df(
13391329
for m in metrics_table_list:
13401330
if m not in col_rename_dict:
13411331
metrics_list_ok = False
1342-
print("unrecognized: " + m)
1332+
logger.warning("unrecognized: " + m)
13431333
if metrics_list_ok:
13441334
metrics_list_for_hv_table = metrics_table_list
13451335
for m in metrics_table_list:
13461336
if m not in df_displayed_metrics_cols:
13471337
df_displayed_metrics_cols.append(m)
13481338
else:
1349-
print(
1339+
logger.warning(
13501340
"WARNING: metrics_table_list specified, but 1 or more values is not acceptable"
13511341
)
13521342

@@ -1441,7 +1431,7 @@ def create_metrics_table_and_metrics_df(
14411431
study_list, metrics_list_dict_renamed, metrics_list_for_hv_table_renamed
14421432
)
14431433
else:
1444-
print(
1434+
logger.debug(
14451435
"build_metrics_table: dfmetrics is none, so not creating metrics table for location.name, vartype: "
14461436
+ location.name
14471437
+ ","

schismviz/datastore.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from functools import lru_cache
2+
import logging
23
import param
34
import os
45
import diskcache
@@ -7,6 +8,8 @@
78
import pandas as pd
89
import geopandas as gpd
910

11+
logger = logging.getLogger(__name__)
12+
1013

1114
def convert_station_to_gdf(stations):
1215
return gpd.GeoDataFrame(
@@ -39,7 +42,7 @@ def __init__(self, **kwargs):
3942
self.cache = diskcache.Cache(self.cache_dir, size_limit=1e11)
4043
self.caching_read_ts = lru_cache(maxsize=32)(self.cache.memoize()(read_ts))
4144
# read inventory file for each repo level
42-
print("Using inventory file: ", self.inventory_file)
45+
logger.debug("Using inventory file: %s", self.inventory_file)
4346
self.df_dataset_inventory = pd.read_csv(self.inventory_file, comment="#")
4447
# replace nan with empty string for column subloc
4548
self.df_dataset_inventory["subloc"] = self.df_dataset_inventory[
@@ -104,4 +107,4 @@ def get_data(self, row):
104107
def clear_cache(self):
105108
if self.caching:
106109
self.cache.clear()
107-
print("Cache cleared")
110+
logger.debug("Cache cleared")

schismviz/schismcalibplotui.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
import pathlib
23
import yaml
34
import numpy as np
@@ -19,6 +20,8 @@
1920

2021
# from .calibplot import tsplot, scatterplot, calculate_metrics, regression_line_plots
2122

23+
logger = logging.getLogger(__name__)
24+
2225

2326
class SchismCalibNullReader(DataReferenceReader):
2427
"""Placeholder reader for SchismCalibPlotUIManager catalog entries.
@@ -367,7 +370,7 @@ def get_data_for_id_var(self, id, variable):
367370
self.dcat.eval(f'({id_col}=="{id}") & (param=="{dparam}")')
368371
].iloc[0]
369372
except IndexError:
370-
print("No data found for", id, variable)
373+
logger.debug("No data found for %s %s", id, variable)
371374
rd = None
372375
if rd is not None:
373376
dfobs, converted_unit = schismstudy.convert_to_SI(

schismviz/schismstudy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ def __init__(
178178
self.flux_pts_gdf = convert_flux_to_points_gdf(flux_df)
179179
self.flux_names = flux_df["name"].tolist()
180180
else:
181-
print(
181+
logger.debug(
182182
"flux xsect file is not a yaml file, so only names loaded with no geometry.\n"
183183
+ "Filling in with matching stations.in geometry where station_id matches.\n"
184184
)
@@ -222,7 +222,7 @@ def get_catalog(self):
222222
s = self.stations_gdf.copy()
223223
s["variable"] = var
224224
s["unit"] = self.get_unit_for_variable(var)
225-
print(station.staout_name(var))
225+
logger.debug(station.staout_name(var))
226226
s["filename"] = self.interpret_file_relative_to(
227227
self.output_dir, station.staout_name(var)
228228
)

0 commit comments

Comments
 (0)