From 068d6248e9890f90424829fddc104d1d13726732 Mon Sep 17 00:00:00 2001
From: GitHub Action 3.00.57rc0 Dec 09, 2024 Dec 11, 2024 3.00.57rc0 Dec 09, 2024 Dec 11, 2024 1 Dec 09, 2024 Dec 11, 2024 3.00.57rc0 3.00.57rc0 Dec 09, 2024 Dec 11, 2024MetPX-Sarracenia Developer’s Guide
Releasing MetPX-Sarracenia
sr_title
Revision Record
Accessing accept/reject “masks”self.o.masks[msg['_mask_index']]. The last item in the mask contains the arguments from the accept statement:
mask = self.o.masks[msg['_mask_index']
+mask = self.o.masks[msg['_mask_index']]
print(mask[-1]) # --> [ 'your_text=here', 'from_accept_abc' ]
diff --git a/How2Guides/source.html b/How2Guides/source.html
index 7311fc970..c3641757d 100644
--- a/How2Guides/source.html
+++ b/How2Guides/source.html
@@ -130,7 +130,7 @@ Revision Record3.00.57rc0
date:
-Dec 09, 2024
+Dec 11, 2024
A Sarracenia data pump is a web (or sftp) server with notifications for subscribers
diff --git a/How2Guides/subscriber.html b/How2Guides/subscriber.html
index f9c03ef69..49e1f0ca0 100644
--- a/How2Guides/subscriber.html
+++ b/How2Guides/subscriber.html
@@ -128,7 +128,7 @@
Revision Record3.00.57rc0
date:
-Dec 09, 2024
+Dec 11, 2024
diff --git a/Reference/flowcb.html b/Reference/flowcb.html
index 2a05c7766..dc7f205cd 100644
--- a/Reference/flowcb.html
+++ b/Reference/flowcb.html
@@ -253,6 +253,7 @@
sarracenia.flowcb.poll.usgs
sarracenia.flowcb.post
sarracenia.flowcb.send.email
@@ -375,14 +376,22 @@
-
-
-
-
-
-
-
-
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2129,29 +2138,64 @@ sarracenia.flowcb.po
sarracenia.flowcb.send.email
-sarracenia.flowcb.send.email.Email is an sr3 sender plugin. Once a file is
-posted, the plugin matches the topic(what the filename begins with) to the
-file name and sends the appropriate emails.
-
-- Usage:
-Need the following variables in an sr_sender config defined: file_email_to, file_email_relay
-Optionally, you can also provide a sender name/email as file_email_form:
+
+Email Sender
+sarracenia.flowcb.send.email.Email
is an sr3 sender plugin. It will send the contents of a
+file in the body of an email to the configured recipient(s).
+The email subject will be the name of the file being sent.
+
+Usage:
-file_email_to AACN27 muhammad.taseer@canada.ca, test@test.com
-file_email_relay email.relay.server.ca
-file_email_from santa@canada.ca
-
-
+
In the config file, include the following line:
-
-callback send.email
-
+callback send.email
+
+
+
+
+And define the email server
+sendTo
+
+
+
+Define the email server (required) using the sendTo
option, and the sender’s email address (optional)
+in the config file:
+sendTo smtp://email.relay.server.ca
+
+email_from santa@canada.ca
+
+# or, with a "human readable" sender name:
+
+email_from Santa Claus <santa@canada.ca>
+
+
+
+Configure recipients using accept statements. You must have at least one recipient per accept statement.
+Multiple recipients can be specified by separating each address by a comma.
+accept .*AACN27.* test@example.com
+accept .*SXCN.* user1@example.com, user2@example.com
+accept .*CACN.* DESTFN=A_CACN_Bulletin me@ssc-spc.gc.ca,you@ssc-spc.gc.ca,someone@ssc-spc.gc.ca
+
+
-sr_sender foreground emails.conf
+
+To change the filename that is sent in the subject, you can use the filename option, a renamer plugin or
+DESTFN/DESTFNSCRIPT on a per-accept basis. The email_subject_prepend
option can be used to add text before
+the filename in the email subject. For example:
+email_subject_prepend Sent by Sarracenia:
+
+
+
+- Future Improvement Ideas:
+SMTP on different ports and with authentication
+Attach the file instead of putting the contents in the body (useful for binary files)
+
Original Author: Wahaj Taseer - June, 2019
+
+
-
class sarracenia.flowcb.send.email.Email(options)[source]
@@ -2161,11 +2205,24 @@ sarracenia.flowcb.po
__init__(options)[source]
+
+
+
+
-sarracenia.flowcb.post.message
+sarracenia.flowcb.post.message
-
class sarracenia.flowcb.post.message.Message(options)[source]
@@ -2186,15 +2243,15 @@ sarracenia.flowcb.po
-sarracenia.flowcb.send
+sarracenia.flowcb.send
plugins intended for on_message entry_point.
(when messages are received.)
-sarracenia.flowcb.wistree
+sarracenia.flowcb.wistree
-sarracenia.flowcb.work
+sarracenia.flowcb.work
plugins that use primarily the after_work entry point, normally
executed after the file transfer (either send or get) has completed.
usually such plugins will contain a loop:
@@ -2205,7 +2262,7 @@ sarracenia.flowcb.wi
to operate on all the files transferrred or processed successfully.
-sarracenia.flowcb.work.age
+sarracenia.flowcb.work.age
print the age of files written (compare current time to mtime of message.)
usage:
flowcb work.age
@@ -2217,7 +2274,7 @@ sarracenia.flowcb.wi
-sarracenia.flowcb.work.rxpipe
+sarracenia.flowcb.work.rxpipe
-
class sarracenia.flowcb.work.rxpipe.Rxpipe(options)[source]
@@ -2236,7 +2293,7 @@ sarracenia.flowcb.wi
-sarracenia.flowcb.v2wrapper
+sarracenia.flowcb.v2wrapper
-
class sarracenia.flowcb.v2wrapper.V2Wrapper(o)[source]
diff --git a/Reference/sr3.1.html b/Reference/sr3.1.html
index 943ce3edc..99aa49893 100644
--- a/Reference/sr3.1.html
+++ b/Reference/sr3.1.html
@@ -115,7 +115,7 @@ sr3 Sarracenia CLI1
- Date:
-Dec 09, 2024
+Dec 11, 2024
- Version:
3.00.57rc0
diff --git a/Reference/sr3_cpump.1.html b/Reference/sr3_cpump.1.html
index bf7c9d544..1b240657b 100644
--- a/Reference/sr3_cpump.1.html
+++ b/Reference/sr3_cpump.1.html
@@ -112,7 +112,7 @@ sr_shovel in C1
- Date:
-Dec 09, 2024
+Dec 11, 2024
- Version:
3.00.57rc0
diff --git a/Reference/sr3_credentials.7.html b/Reference/sr3_credentials.7.html
index de9cc5602..ae3d4007f 100644
--- a/Reference/sr3_credentials.7.html
+++ b/Reference/sr3_credentials.7.html
@@ -109,7 +109,7 @@ SR3 Credential File Format7
- Date:
-Dec 09, 2024
+Dec 11, 2024
- Version:
3.00.57rc0
diff --git a/Reference/sr3_options.7.html b/Reference/sr3_options.7.html
index 8d49d541c..6fd18964f 100644
--- a/Reference/sr3_options.7.html
+++ b/Reference/sr3_options.7.html
@@ -113,7 +113,7 @@ SR3 Configuration File Format7
- Date:
-Dec 09, 2024
+Dec 11, 2024
- Version:
3.00.57rc0
diff --git a/Reference/sr3_post.1.html b/Reference/sr3_post.1.html
index 65d4736be..84a67e76a 100644
--- a/Reference/sr3_post.1.html
+++ b/Reference/sr3_post.1.html
@@ -113,7 +113,7 @@ Publish the Availability of Files1
- Date:
-Dec 09, 2024
+Dec 11, 2024
- Version:
3.00.57rc0
diff --git a/Reference/sr_post.7.html b/Reference/sr_post.7.html
index 3a9bd3d91..1af501ded 100644
--- a/Reference/sr_post.7.html
+++ b/Reference/sr_post.7.html
@@ -118,7 +118,7 @@ Sarracenia v03 Notification Message Format/Protocol7
- Date:
-Dec 09, 2024
+Dec 11, 2024
- Version:
3.00.57rc0
diff --git a/Tutorials/Install.html b/Tutorials/Install.html
index 5d7f73d3c..c6d36fb9f 100644
--- a/Tutorials/Install.html
+++ b/Tutorials/Install.html
@@ -119,7 +119,7 @@ Revision Record3.00.57rc0
- date:
-Dec 09, 2024
+Dec 11, 2024
diff --git a/_modules/sarracenia/flowcb/send/email.html b/_modules/sarracenia/flowcb/send/email.html
index fd037ea93..b0e86ae54 100644
--- a/_modules/sarracenia/flowcb/send/email.html
+++ b/_modules/sarracenia/flowcb/send/email.html
@@ -83,25 +83,54 @@
Source code for sarracenia.flowcb.send.email
"""
- sarracenia.flowcb.send.email.Email is an sr3 sender plugin. Once a file is
- posted, the plugin matches the topic(what the filename begins with) to the
- file name and sends the appropriate emails.
+Email Sender
+============
- Usage:
- 1. Need the following variables in an sr_sender config defined: file_email_to, file_email_relay
- Optionally, you can also provide a sender name/email as file_email_form:
+``sarracenia.flowcb.send.email.Email`` is an sr3 sender plugin. It will send the *contents* of a
+file in the *body* of an email to the configured recipient(s).
- file_email_to AACN27 muhammad.taseer@canada.ca, test@test.com
- file_email_relay email.relay.server.ca
- file_email_from santa@canada.ca
+The email subject will be the name of the file being sent.
- 2. In the config file, include the following line:
+Usage:
+^^^^^^
- callback send.email
+ 1. In the config file, include the following line: ::
- 3. sr_sender foreground emails.conf
+ callback send.email
- Original Author: Wahaj Taseer - June, 2019
+ And define the email server ::
+
+ sendTo
+
+ 2. Define the email server (required) using the ``sendTo`` option, and the sender's email address (optional)
+ in the config file: ::
+
+ sendTo smtp://email.relay.server.ca
+
+ email_from santa@canada.ca
+
+ # or, with a "human readable" sender name:
+
+ email_from Santa Claus <santa@canada.ca>
+
+ 3. Configure recipients using accept statements. You must have at least one recipient per accept statement.
+ Multiple recipients can be specified by separating each address by a comma. ::
+
+ accept .*AACN27.* test@example.com
+ accept .*SXCN.* user1@example.com, user2@example.com
+ accept .*CACN.* DESTFN=A_CACN_Bulletin me@ssc-spc.gc.ca,you@ssc-spc.gc.ca,someone@ssc-spc.gc.ca
+
+To change the filename that is sent in the subject, you can use the filename option, a renamer plugin or
+DESTFN/DESTFNSCRIPT on a per-accept basis. The ``email_subject_prepend`` option can be used to add text before
+the filename in the email subject. For example: ::
+
+ email_subject_prepend Sent by Sarracenia:
+
+Future Improvement Ideas:
+ - SMTP on different ports and with authentication
+ - Attach the file instead of putting the contents in the body (useful for binary files)
+
+Original Author: Wahaj Taseer - June, 2019
"""
from email.message import EmailMessage
@@ -122,66 +151,128 @@ Source code for sarracenia.flowcb.send.email
def __init__(self, options):
super().__init__(options,logger)
- self.o.add_option('file_email_command', 'str', '/usr/bin/mail')
- self.o.add_option('file_email_to', 'list')
- self.o.add_option('file_email_from', 'str')
- self.o.add_option('file_email_relay', 'str')
-
-
+ self.o.add_option('email_from', 'str', default_value='')
+ self.o.add_option('email_subject_prepend', 'str', default_value='')
+
+ # Parse accept/reject mask arguments into email recipient lists
+ try:
+ for mask in self.o.masks:
+ # mask[4] == True if accept, False if reject, only need to parse for accept
+ if len(mask[-1]) > 0 and mask[4]:
+ # logger.debug(f"mask args before parse: {mask[-1]}")
+ arg_string = ''.join(mask[-1]).replace(' ', '').strip()
+ recipients = arg_string.split(',')
+ mask[-1].clear()
+ for recipient in recipients:
+ if '@' not in recipient:
+ logger.error(f"Invalid email recipient: {recipient} for accept {mask[0]}")
+ else:
+ mask[-1].append(recipient)
+ # logger.debug(f"mask args after parse: {mask[-1]}")
+ elif mask[4]:
+ logger.warning(f"No email recipients defined for accept {mask[0]}")
+ except Exception as e:
+ logger.critical(f"Failed to parse recipients from mask: {mask}")
+ raise e
+
+ # Server must be defined
+ if not self.o.sendTo or len(self.o.sendTo) == 0:
+ raise Exception("No email server (sendTo) is defined in the config!")
+ # sendTo --> email_server
+ self.email_server = self.o.sendTo.strip('/')
+ if '//' in self.email_server:
+ self.email_server = self.email_server[self.email_server.find('//') + 2 :]
+ logger.debug(f"Using email server: {self.email_server} (sendTo was: {self.o.sendTo})")
+
+ # Add trailing space to email_subject_prepend
+ if len(self.o.email_subject_prepend) > 0:
+ self.o.email_subject_prepend += ' '
+
+
+
+[docs]
+ def after_work(self, worklist):
+ """ This plugin can also be used in a sarra/subscriber, mostly for testing purposes.
+ """
+ if self.o.component != 'sender':
+ for msg in worklist.ok:
+ actual_baseDir = self.o.baseDir
+ actual_relPath = msg['relPath']
+ msg['relPath'] = os.path.join(msg['new_dir'], msg['new_file'])
+ self.o.baseDir = msg['new_dir']
+
+ self.send(msg)
+
+ self.o.baseDir = actual_baseDir
+ msg['relPath'] = actual_relPath
+
+
+
+[docs]
def send(self, msg):
-
- # have a list of email destinations...
- logger.debug("email: %s" % self.o.file_email_to)
+ """ Send an email to each recipient defined in the config file for a particular accept statement.
+ The file contents are sent in the body of the email. The subject is the filename.
+ """
+
if not msg['relPath'].startswith(self.o.baseDir):
ipath = os.path.normpath(f"{self.o.baseDir}/{msg['relPath']}")
else:
ipath = os.path.normpath(f"{msg['relPath']}")
- # loop over all the variables from config file, if files match, send via email
- for header in self.o.file_email_to:
- file_type, emails = header.split(' ', 1)
- emails = [x.strip(' ') for x in emails.split(',')]
-
- # check if the file arrived matches any email rules
- if re.search('^' + file_type + '.*', msg['new_file']):
-
- for recipient in emails:
- logger.debug('sending file %s to %s' % (ipath, recipient))
-
- with open(ipath) as fp:
- emsg = EmailMessage()
- emsg.set_content(fp.read())
-
- try:
- sender = self.o.file_email_from
- if not sender:
- sender = 'sarracenia-emailer'
- except AttributeError:
- sender = 'sarracenia-emailer'
-
- logger.debug("Using sender email: " + sender)
-
- emsg['Subject'] = msg['new_file']
- emsg['From'] = sender
- emsg['To'] = recipient
-
- try:
- email_relay = self.o.file_email_relay
- if not email_relay:
- raise AttributeError()
- except AttributeError:
- logger.error(
- 'file_email_relay config NOT defined, please define an SMTP (relay) server'
- )
-
- logger.debug("Using email relay server: " + email_relay)
- s = smtplib.SMTP(email_relay)
- s.send_message(emsg)
- s.quit()
-
- logger.info('sent file %s to %s' % (ipath, recipient))
-
- return True
+ if '_mask_index' not in msg:
+ logger.error("Recipients unknown, can't email file {ipath}")
+ # negative return == permanent failure, don't retry
+ return -1
+
+ # Get list of recipients for this message, from the mask that matched the filename/path
+ recipients = self.o.masks[msg['_mask_index']][-1]
+
+ # Prepare the email message
+ emsg = EmailMessage()
+ try:
+ with open(ipath) as fp:
+ emsg.set_content(fp.read())
+ except Exception as e:
+ logger.error(f"Failed to read {ipath}, can't send to {recipients}")
+ # No retry if the file doesn't exist
+ return -1
+
+ emsg['Subject'] = self.o.email_subject_prepend + msg['new_file']
+
+ # if not set in the config, just don't set From, the From address will usually be derived from the hostname
+ if self.o.email_from and len(self.o.email_from) > 0:
+ emsg['From'] = self.o.email_from
+
+ # if sending to any one recipient fails, we will return False, triggering a retry.
+ all_ok = True
+ for recipient in recipients:
+ if '@' not in recipient:
+ logger.error(f"Cannot send {ipath} to recipient {recipient}. Email address is invalid!")
+ continue
+
+ try:
+ logstr = f"file {ipath} to {recipient} with subject {emsg['Subject']}"
+ logger.debug(f'sending {logstr} from {self.o.email_from} using server {self.email_server}')
+
+ if 'To' in emsg:
+ del emsg['To']
+ emsg['To'] = recipient
+ logger.debug(emsg)
+
+ s = smtplib.SMTP(self.email_server)
+ s.send_message(emsg)
+ s.quit()
+
+ logger.info(f'Sent file {logstr}')
+
+ except Exception as e:
+ logger.error(f'failed to send {logstr} from {self.o.email_from} using server {self.email_server}'
+ + f' because {e}')
+ logger.debug('Exception details:', exc_info=True)
+ all_ok = False
+
+ return all_ok
3.00.57rc0
Dec 09, 2024
+Dec 11, 2024
Une pompe de données Sarracenia est un serveur Web (ou sftp) avec des notifications pour que les diff --git a/fr/CommentFaire/subscriber.html b/fr/CommentFaire/subscriber.html index ffadf9403..cd2bea1bc 100644 --- a/fr/CommentFaire/subscriber.html +++ b/fr/CommentFaire/subscriber.html @@ -118,7 +118,7 @@
3.00.57rc0
Dec 09, 2024
+Dec 11, 2024
3.00.57rc0
Dec 09, 2024
+Dec 11, 2024
3.00.57rc0
Dec 09, 2024
+Dec 11, 2024
1
Dec 09, 2024
+Dec 11, 2024
3.00.57rc0
diff --git a/fr/Explication/SarraPluginDev.html b/fr/Explication/SarraPluginDev.html index 4d21993ad..98c85e810 100644 --- a/fr/Explication/SarraPluginDev.html +++ b/fr/Explication/SarraPluginDev.html @@ -120,7 +120,7 @@3.00.57rc0
Dec 09, 2024
+Dec 11, 2024
mask = self.o.masks[msg['_mask_index']
+mask = self.o.masks[msg['_mask_index']]
print(mask[-1]) # --> [ 'votre_text=ici', 'from_accept_abc' ]
diff --git a/fr/Reference/sr3.1.html b/fr/Reference/sr3.1.html
index 65b027ab8..3c125098e 100644
--- a/fr/Reference/sr3.1.html
+++ b/fr/Reference/sr3.1.html
@@ -112,7 +112,7 @@ sr3 Sarracenia CLI1
Date:
-Dec 09, 2024
+Dec 11, 2024
Version:
3.00.57rc0
diff --git a/fr/Reference/sr3_cpump.1.html b/fr/Reference/sr3_cpump.1.html
index 211520986..d11827df8 100644
--- a/fr/Reference/sr3_cpump.1.html
+++ b/fr/Reference/sr3_cpump.1.html
@@ -112,7 +112,7 @@ sr_shovel en C1
Date:
-Dec 09, 2024
+Dec 11, 2024
Version:
3.00.57rc0
diff --git a/fr/Reference/sr3_credentials.7.html b/fr/Reference/sr3_credentials.7.html
index 4dcf50712..7927cf103 100644
--- a/fr/Reference/sr3_credentials.7.html
+++ b/fr/Reference/sr3_credentials.7.html
@@ -112,7 +112,7 @@ SR3 Credential: Format du Fichier7
Date:
-Dec 09, 2024
+Dec 11, 2024
Version:
3.00.57rc0
diff --git a/fr/Reference/sr3_options.7.html b/fr/Reference/sr3_options.7.html
index 5d7a22ecf..cc14f8a2a 100644
--- a/fr/Reference/sr3_options.7.html
+++ b/fr/Reference/sr3_options.7.html
@@ -112,7 +112,7 @@ Format de fichier de configuration SR37
Date:
-Dec 09, 2024
+Dec 11, 2024
Version:
3.00.57rc0
diff --git a/fr/Reference/sr3_post.1.html b/fr/Reference/sr3_post.1.html
index 7b83e349c..c29b754fb 100644
--- a/fr/Reference/sr3_post.1.html
+++ b/fr/Reference/sr3_post.1.html
@@ -112,7 +112,7 @@ Publie la Disponibilitée d’un fichier aux abonnés.1
Date:
-Dec 09, 2024
+Dec 11, 2024
Version:
3.00.57rc0
diff --git a/fr/Reference/sr_post.7.html b/fr/Reference/sr_post.7.html
index 5291e19b3..699c586df 100644
--- a/fr/Reference/sr_post.7.html
+++ b/fr/Reference/sr_post.7.html
@@ -112,7 +112,7 @@ Format/Protocole de messages d’annonce Sarracenia7
Date:
-Dec 09, 2024
+Dec 11, 2024
Version:
3.00.57rc0
diff --git a/fr/Tutoriel/Installer.html b/fr/Tutoriel/Installer.html
index 3c0745c94..9dff1b50c 100644
--- a/fr/Tutoriel/Installer.html
+++ b/fr/Tutoriel/Installer.html
@@ -118,7 +118,7 @@ Enregistrement de révision3.00.57rc0
date:
-Dec 09, 2024
+Dec 11, 2024
diff --git a/genindex.html b/genindex.html
index d6ed6a231..e986e3fa3 100644
--- a/genindex.html
+++ b/genindex.html
@@ -333,7 +333,11 @@ A
after_post() (sarracenia.flowcb.retry.Retry method)
after_work() (sarracenia.flowcb.retry.Retry method)
+
+
- Age (class in sarracenia.flowcb.work.age)
@@ -1617,7 +1621,11 @@
S
- Scheduled (class in sarracenia.flowcb.scheduled)
- send() (sarracenia.flow.Flow method)
+
+
- Sender (class in sarracenia.flow.sender)
- set() (sarracenia.filemetadata.FileMetadata method)
diff --git a/objects.inv b/objects.inv
index 6c2311c092ad2ef7430509ddb07f9c77049c495a..654d9c742911248a1e36750ee19382df6cfbc9d1 100644
GIT binary patch
delta 55545
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