-#!/usr/bin/python
+#!/usr/bin/env python3
#
# Interactive shell for testing PLCAPI
#
try:
options.password = getpass()
except (EOFError, KeyboardInterrupt):
- print
+ print()
sys.exit(0)
# Initialize a single global instance (scripts may re-initialize
auth = shell.auth
api = shell.api
config = shell.config
-except Exception, err:
- print "Error:", err
- print
+except Exception as err:
+ print("Error:", err)
+ print()
parser.print_help()
sys.exit(1)
# If called by a script
if args:
if not os.path.exists(args[0]):
- print 'File %s not found'%args[0]
+ print('File %s not found'%args[0])
parser.print_help()
sys.exit(1)
else:
# Add of script to sys.path
path = os.path.dirname(os.path.abspath(script))
sys.path.append(path)
- execfile(script)
+ exec(compile(open(script).read(), script, 'exec'))
# Otherwise, run an interactive shell environment
else:
if shell.server is None:
- print "PlanetLab Central Direct API Access"
+ print("PlanetLab Central Direct API Access")
prompt = ""
elif shell.auth['AuthMethod'] == "anonymous":
prompt = "[anonymous]"
- print "Connected anonymously"
+ print("Connected anonymously")
elif shell.auth['AuthMethod'] == "session":
# XXX No way to tell node and user sessions apart from the
# client point of view.
prompt = "[%s]" % gethostname()
- print "%s connected using session authentication" % gethostname()
+ print("%s connected using session authentication" % gethostname())
else:
prompt = "[%s]" % shell.auth['Username']
- print "%s connected using %s authentication" % \
- (shell.auth['Username'], shell.auth['AuthMethod'])
+ print("%s connected using %s authentication" % \
+ (shell.auth['Username'], shell.auth['AuthMethod']))
# Readline and tab completion support
import atexit
import readline
import rlcompleter
- print 'Type "system.listMethods()" or "help(method)" for more information.'
+ print('Type "system.listMethods()" or "help(method)" for more information.')
# Load command history
history_path = os.path.join(os.environ["HOME"], ".plcapi_history")
try:
sep = ">>> "
else:
sep = "... "
- line = raw_input(prompt + sep)
+ line = input(prompt + sep)
# Ctrl-C
except KeyboardInterrupt:
command = ""
- print
+ print()
break
# Build up multi-line command
# Try evaluating as an expression and printing the result
result = eval(command)
if result is not None:
- print result
+ print(result)
except SyntaxError:
# Fall back to executing as a statement
- exec command
- except Exception, err:
+ exec(command)
+ except Exception as err:
print_exc()
except EOFError:
- print
+ print()
pass