Skip to content

Commit 3d76de0

Browse files
committed
Add Clowder URL hooks
1 parent 3ae702d commit 3d76de0

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ENV PYTHON_VERSION=${PYTHON_VERSION} \
88
RABBITMQ_URI="amqp://guest:guest@rabbitmq:5672/%2F" \
99
RABBITMQ_EXCHANGE="clowder" \
1010
RABBITMQ_QUEUE="" \
11+
CLOWDER_URL="" \
1112
REGISTRATION_ENDPOINTS="" \
1213
EMAIL_SERVER="" \
1314
EMAIL_SENDER="extractor" \

pyclowder/connectors.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class Connector(object):
6666
registered_clowder = list()
6767

6868
def __init__(self, extractor_name, extractor_info, check_message=None, process_message=None, ssl_verify=True,
69-
mounted_paths=None):
69+
mounted_paths=None, clowder_url=None):
7070
self.extractor_name = extractor_name
7171
self.extractor_info = extractor_info
7272
self.check_message = check_message
@@ -76,6 +76,7 @@ def __init__(self, extractor_name, extractor_info, check_message=None, process_m
7676
self.mounted_paths = {}
7777
else:
7878
self.mounted_paths = mounted_paths
79+
self.clowder_url = clowder_url
7980

8081
filename = 'notifications.json'
8182
self.smtp_server = None
@@ -374,7 +375,7 @@ def _process_message(self, body):
374375
if body.get('notifies'):
375376
emailaddrlist = body.get('notifies')
376377
logger.debug(emailaddrlist)
377-
host = body.get('host', '')
378+
host = self.clowder_url if self.clowder_url is not None else body.get('host', '')
378379
if host == '':
379380
return
380381
elif not host.endswith('/'):
@@ -623,9 +624,9 @@ class RabbitMQConnector(Connector):
623624
def __init__(self, extractor_name, extractor_info,
624625
rabbitmq_uri, rabbitmq_exchange=None, rabbitmq_key=None, rabbitmq_queue=None,
625626
check_message=None, process_message=None, ssl_verify=True, mounted_paths=None,
626-
heartbeat=5*60):
627+
heartbeat=5*60, clowder_url=None):
627628
super(RabbitMQConnector, self).__init__(extractor_name, extractor_info, check_message, process_message,
628-
ssl_verify, mounted_paths)
629+
ssl_verify, mounted_paths, clowder_url)
629630
self.rabbitmq_uri = rabbitmq_uri
630631
self.rabbitmq_exchange = rabbitmq_exchange
631632
self.rabbitmq_key = rabbitmq_key
@@ -638,7 +639,7 @@ def __init__(self, extractor_name, extractor_info,
638639
self.consumer_tag = None
639640
self.worker = None
640641
self.announcer = None
641-
self.heartbeat = 5*60
642+
self.heartbeat = heartbeat
642643

643644
def connect(self):
644645
"""connect to rabbitmq using URL parameters"""

pyclowder/extractors.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def __init__(self):
6363
rabbitmq_queuename = self.extractor_info['name']
6464
rabbitmq_uri = os.getenv('RABBITMQ_URI', "amqp://guest:[email protected]/%2f")
6565
rabbitmq_exchange = os.getenv('RABBITMQ_EXCHANGE', "clowder")
66+
clowder_url = os.getenv("CLOWDER_URL", "")
6667
registration_endpoints = os.getenv('REGISTRATION_ENDPOINTS', "")
6768
logging_config = os.getenv("LOGGING")
6869
mounted_paths = os.getenv("MOUNTED_PATHS", "{}")
@@ -84,6 +85,8 @@ def __init__(self):
8485
self.parser.add_argument('--pickle', nargs='*', dest="hpc_picklefile",
8586
default=None, action='append',
8687
help='pickle file that needs to be processed (only needed for HPC)')
88+
self.parser.add_argument('--clowderURL', nargs='?', dest='clowder_url', default=clowder_url,
89+
help='Clowder host URL')
8790
self.parser.add_argument('--register', '-r', nargs='?', dest="registration_endpoints",
8891
default=registration_endpoints,
8992
help='Clowder registration URL (default=%s)' % registration_endpoints)

0 commit comments

Comments
 (0)