diff --git a/parameters.yaml b/parameters.yaml index 690d8a5..bd0f5bb 100644 --- a/parameters.yaml +++ b/parameters.yaml @@ -3,9 +3,9 @@ datapath: "/data/SDS/" # SC3 Datapath networks: ["1Y", "HA"] # select networks, list or str stations: "*" # select stations, list or str locations: "*" # select locations, list or str -channels: ["EX1", "EX2", "EX3", "VEI", "LCQ"] # Specify SOH channels, currently supported EX[1-3], VEI, LCQ -stations_blacklist: ["TEST", "EREA"] -networks_blacklist: [] +channels: ["EX1", "EX2", "EX3", "VEI", "LCQ"] # Specify SOH channels, currently supported EX[1-3], VEI and LCQ +stations_blacklist: ["TEST", "EREA"] # exclude these stations +networks_blacklist: [] # exclude these networks interval: 60 # Perform checks every x seconds n_track: 300 # wait n_track * intervals before performing an action (i.e. send mail/end highlight status) timespan: 7 # Check data of the recent x days @@ -60,6 +60,8 @@ EMAIL: mailserver: "localhost" addresses: ["marcel.paffrath@rub.de", "kasper.fischer@rub.de"] # list of mail addresses for info mails sender: "webmaster@geophysik.ruhr-uni-bochum.de" # mail sender + stations_blacklist: ['GR33'] # do not send emails for specific stations + networks_blacklist: [] # do not send emails for specific network # names for plotting of the above defined parameter "channels" in the same order channel_names: ["Clock Quality (%)", "Temperature (°C)", "230V/12V Status (V)", "Router/Charger State (V)", "Logger Voltage (V)"] # names for plotting (optional) diff --git a/submit_bot.sh b/submit_bot.sh index 7e5fe28..7b1f724 100755 --- a/submit_bot.sh +++ b/submit_bot.sh @@ -6,7 +6,7 @@ ulimit -s 8192 #$ -cwd #$ -pe smp 1 #$ -N survBot_bg -##$ -l os=*stretch +#$ -l os=*stretch source /opt/anaconda3/etc/profile.d/conda.sh conda activate py37 diff --git a/survBot.py b/survBot.py index c371e8f..e6e6ebf 100755 --- a/survBot.py +++ b/survBot.py @@ -581,11 +581,25 @@ class StationQC(object): if self.verbosity: print('Mail functionality disabled. Return') return + mail_params = self.parameters.get('EMAIL') if not mail_params: if self.verbosity: print('parameter "EMAIL" not set in parameter file. Return') return + + stations_blacklist = mail_params.get('stations_blacklist') + if stations_blacklist and self.station in stations_blacklist: + if self.verbosity: + print(f'Station {self.station} listed in blacklist. Return') + return + + networks_blacklist = mail_params.get('networks_blacklist') + if networks_blacklist and self.network in networks_blacklist: + if self.verbosity: + print(f'Station {self.station} of network {self.network} listed in blacklist. Return') + return + sender = mail_params.get('sender') addresses = mail_params.get('addresses') server = mail_params.get('mailserver')