43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
#!/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()
|