@@ -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 , clowder_url = None , max_retry = 10 ):
69+ mounted_paths = None , clowder_url = None , max_retry = 10 , extractor_key = None ):
7070 self .extractor_name = extractor_name
7171 self .extractor_info = extractor_info
7272 self .check_message = check_message
@@ -77,6 +77,7 @@ def __init__(self, extractor_name, extractor_info, check_message=None, process_m
7777 else :
7878 self .mounted_paths = mounted_paths
7979 self .clowder_url = clowder_url
80+ self .extractor_key = extractor_key
8081 self .max_retry = max_retry
8182
8283 filename = 'notifications.json'
@@ -391,10 +392,16 @@ def _process_message(self, body):
391392 return
392393
393394 # register extractor
394- url = "%sapi/extractors" % source_host
395- if url not in Connector .registered_clowder :
396- Connector .registered_clowder .append (url )
397- self .register_extractor ("%s?key=%s" % (url , secret_key ))
395+ if self .extractor_key is None :
396+ url = "%sapi/extractors" % source_host
397+ if url not in Connector .registered_clowder :
398+ Connector .registered_clowder .append (url )
399+ self .register_extractor ("%s?key=%s" % (url , secret_key ))
400+ else :
401+ url = "%sapi/extractors/private/%s" % (source_host , self .extractor_key )
402+ if url not in Connector .registered_clowder :
403+ Connector .registered_clowder .append (url )
404+ self .register_extractor ("%s?key=%s" % (url , secret_key ))
398405
399406 # tell everybody we are starting to process the file
400407 self .status_update (pyclowder .utils .StatusMessage .start , resource , "Started processing." )
@@ -630,7 +637,7 @@ class RabbitMQConnector(Connector):
630637 def __init__ (self , extractor_name , extractor_info ,
631638 rabbitmq_uri , rabbitmq_exchange = None , rabbitmq_key = None , rabbitmq_queue = None ,
632639 check_message = None , process_message = None , ssl_verify = True , mounted_paths = None ,
633- heartbeat = 5 * 60 , clowder_url = None , max_retry = 10 ):
640+ heartbeat = 5 * 60 , clowder_url = None , max_retry = 10 , extractor_key = None ):
634641 super (RabbitMQConnector , self ).__init__ (extractor_name , extractor_info , check_message , process_message ,
635642 ssl_verify , mounted_paths , clowder_url , max_retry )
636643 self .rabbitmq_uri = rabbitmq_uri
@@ -640,6 +647,9 @@ def __init__(self, extractor_name, extractor_info,
640647 self .rabbitmq_queue = extractor_info ['name' ]
641648 else :
642649 self .rabbitmq_queue = rabbitmq_queue
650+ self .extractor_key = extractor_key
651+ if extractor_key is not None :
652+ self .rabbitmq_queue += extractor_key
643653 self .channel = None
644654 self .connection = None
645655 self .consumer_tag = None
0 commit comments