289def options(argv):
290
291 parser = argparse.ArgumentParser(description='SendEI_SPB to object store '
292 'and notify EI supervisor.')
293 parser.add_argument('-e', '--endpoint', default='localhost:61613',
294 type=endpointV,
295 help="broker name and port")
296 parser.add_argument('-q', '--queue',
297 default='/queue/atlas.eventindex.supervisor',
298 help="broker queue name")
299 parser.add_argument('-u', '--user',
300 default=None,
301 help="Stomp user name")
302 parser.add_argument('-k', '--passcode',
303 default=None,
304 help="Stomp passcode")
305 parser.add_argument('-v', '--verbose',
306 default=0,
307 action='count',
308 help='Verbosity level')
309 parser.add_argument('-d', '--debug',
310 default=0,
311 action='count',
312 help='Debug')
313 parser.add_argument("-n", "--dummy",
314 action='store_true',
315 default=False,
316 help="Do not send messages and do not connect")
317 parser.add_argument("--s3endpoint",
318 default="localhost:443",
319 help="S3 AWS server name and port")
320 parser.add_argument("--awsaccess",
321 default=None,
322 help="AWS access key. "
323 "(default from AWSACCESS env variable)")
324 parser.add_argument("--awssecret",
325 default=None,
326 help="AWS secret key. "
327 "(default from AWSSECRET env variable)")
328 parser.add_argument("--s3secure",
329 default=True,
330 help="Secure connection to S3 AWS server")
331 parser.add_argument("--s3bucket",
332 default="atlas_eventindex",
333 help="S3 bucket name")
334 parser.add_argument("--eosfallback",
335 default=False,
336 help="Copy file into EOS if S3 fails")
337 parser.add_argument("-x", "--http",
338 action='store_true',
339 default=False,
340 help="Generate object http public link")
341 parser.add_argument("--objID",
342 default=None,
343 help="Object ID")
344
345 parser.add_argument('eifile', help="EventIndex file")
346
347 opt = parser.parse_args(args=argv)
348
349 if opt.user is None or opt.passcode is None:
350 if not(opt.user is None and opt.passcode is None):
351 log.error("Both, user and passcode must be specified or none")
352 sys.exit(0)
353
354 if opt.awsaccess is None or opt.awssecret is None:
355 opt.awsaccess = os.getenv('AWSACCESS', None)
356 opt.awssecret = os.getenv('AWSSECRET', None)
357
358 if opt.awsaccess is None or opt.awssecret is None:
359 log.error("Both ACCESS KEY and SECRET KEY must exists")
360 sys.exit(0)
361
362 return opt
363
364