create helper script to manage Murmur
This commit is contained in:
53
files/scripts/mice.py
Normal file
53
files/scripts/mice.py
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
|
||||
import Ice
|
||||
|
||||
import Murmur
|
||||
|
||||
|
||||
def init(host, port, timeout):
|
||||
logging.debug("Initializing ICE connection")
|
||||
proxy_str = f"Meta: tcp -h {host} -p {port} -t {timeout}"
|
||||
with Ice.initialize() as communicator:
|
||||
proxy = communicator.stringToProxy(proxy_str)
|
||||
mice = Murmur.MetaPrx.checkedCast(proxy)
|
||||
|
||||
if not mice:
|
||||
raise RuntimeError(f"Invalid Proxy: {proxy_str}")
|
||||
|
||||
servers = mice.getAllServers()
|
||||
|
||||
if len(servers) == 0:
|
||||
raise RuntimeError("No Mumble server found")
|
||||
|
||||
return servers
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Manage Mumble server through ICE connection",
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter
|
||||
)
|
||||
parser.add_argument("--host", "-h", default="127.0.0.1",
|
||||
help="ICE host or ip")
|
||||
parser.add_argument("--port", "-p", default=6502,
|
||||
help="ICE port number")
|
||||
parser.add_argument("--timeout", "-t", default=1000,
|
||||
help="Connection timeout in milliseconds")
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
servers = init(args.host, args.port, args.timeout)
|
||||
except RuntimeError as e:
|
||||
logging.error(e, exc_info=e)
|
||||
return 1
|
||||
|
||||
print(servers.getChannels())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user