diff options
Diffstat (limited to 'netaddr/cli.py')
-rwxr-xr-x | netaddr/cli.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/netaddr/cli.py b/netaddr/cli.py new file mode 100755 index 0000000..c97eab9 --- /dev/null +++ b/netaddr/cli.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +#----------------------------------------------------------------------------- +# Copyright (c) 2008 by David P. D. Moss. All rights reserved. +# +# Released under the BSD license. See the LICENSE file for details. +#----------------------------------------------------------------------------- +"""an interactive shell for the netaddr library""" + +import os +import sys +import netaddr +from netaddr import * + +# aliases to save some typing ... +from netaddr import IPAddress as IP, IPNetwork as CIDR +from netaddr import EUI as MAC + +def main(): + argv = sys.argv[1:] + + banner = "\nnetaddr shell %s - %s\n" % (netaddr.__version__, __doc__) + exit_msg = "\nShare and enjoy!" + rc_override = None + + try: + try: + # ipython >= 0.11 + from IPython.terminal.embed import InteractiveShellEmbed + ipshell = InteractiveShellEmbed(banner1=banner, exit_msg=exit_msg) + except ImportError: + # ipython < 0.11 + from IPython.Shell import IPShellEmbed + ipshell = IPShellEmbed(argv, banner, exit_msg, rc_override) + except ImportError: + sys.stderr.write('IPython (http://ipython.scipy.org/) not found!\n') + sys.exit(1) + + ipshell() + + +if __name__ == '__main__': + main() |