#!/usr/bin/env python

'''
querycontacts: query network abuse contacts for a given ip address on
abuse-contacts.abusix.zone

Copyright 2014 by abusix GmbH
Author: abusix GmbH
License: GPLv3

'''

from __future__ import print_function

import argparse
import sys

from querycontacts import ContactFinder, __version__


def main():
    parser = argparse.ArgumentParser(
        description='QueryContact - Find the Abuse contact for a IP address'
    )
    parser.add_argument(
        'ip',
        help='query network abuse contacts for a given ip address'
    )
    parser.add_argument(
        '--provider',
        dest='provider',
        default='abuse-contacts.abusix.zone',
        help='change standard network abuse contacts provider. Defaults to abuse-contacts.abusix.zone'
    )
    parser.add_argument(
        '--version',
        action='version',
        version='%(prog)s ' + __version__
    )
    options = parser.parse_args()

    cfinder = ContactFinder()
    try:
        emails = cfinder.find(options.ip)
    except ValueError as error:
        sys.exit(error)

    if not emails:
        sys.exit('querycontacts: error: no contacts for %s' % (options.ip))

    for email in emails:
        print(email)

if __name__ == "__main__":
    main()
