Example #1
0
	def get(self, server=None):
		if server:
			server = self.settings['root'].getRcon().getInstance(server)
			if server:
				result = yield server.serverInfo()
				result['players'] = yield server.admin_listPlayers()
				RestHandler.get(self, result)
				return
			self.set_status(404)
		else:
			RestHandler.get(self, self.settings['root'].getRcon().getInstances())
		defer.succeed(None)
		return
Example #2
0
def main():
	# parse cli-arguments
	parser = _parser()
	args = parser.parse_args(sys.argv[1:])

	# initialize resthandler
	RestHandler.initialize("labcli.conf")


	# execute action
	from lablib import show_reservations, show_devices, reserve, powercycle, get_bootmode, set_bootmode, list_bootmodes, extend_reservation, end_reservation, access_serial_console

	if args.show_reservations:
		show_reservations(args.show_reservations)
	elif args.show_devices:
		if args.show_devices not in ('free', 'all'):
			parser.error("Argument to --show-devices must be either 'free' or 'all'")
		show_devices(show_free_only=args.show_devices=='free')
	elif args.reserve:
		if len(args.reserve) < 3:
			parser.error("For a reservation you need to supply a start time, an end time and at least one device")
		reserve(args.reserve[0], args.reserve[1], args.reserve[2:])
	elif args.extend:
		extend_reservation(args.extend[0], args.extend[1])
	elif args.end:
		end_reservation(args.end)
	elif args.powercycle:
		powercycle(args.powercycle)
	elif args.console:
		access_serial_console(args.console)
	elif args.get_bootmode:
		get_bootmode(args.get_bootmode)
	elif args.set_bootmode:
		if len(args.set_bootmode) == 1:
			print("You didn't supply a bootmode to set.")
			list_bootmodes(args.set_bootmode[0])
		elif len(args.set_bootmode) > 2:
			parser.error("Too many arguments for --set-bootmode")
		else:
			set_bootmode(args.set_bootmode[0], args.set_bootmode[1])
	elif args.list_bootmodes:
		list_bootmodes(args.list_bootmodes if args.list_bootmodes is not True else None)
	else:
		parser.error("No command given")
Example #3
0
	def get(self):
		RestHandler.get(self, {'app':'watbf3','version':'0.1'})