-
Notifications
You must be signed in to change notification settings - Fork 0
/
set_hosts.py
52 lines (42 loc) · 1.56 KB
/
set_hosts.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import click
from src.HostsManager import HostsManager
@click.command()
@click.option("--server", default="", help="server: [user]@[ip_address]")
@click.option("--client", default="", help="client: [user]@[ip_address]")
def cli(server, client) -> None:
"""
Calls the handler for creating the hosts file from the input arguments.
:param server: server information in the form [user]@[ip_address]
:param client: client information in the form [user]@[ip_address]
"""
# check if at both of the options is set
if not (server and client):
click.echo(
"Usage: set_hosts.py --server [user]@[ip_address] --client [user]@[ip_address]"
)
return
if not len(server.split("@")) == 2:
click.echo(
"Usage: set_hosts.py --server [user]@[ip_address] --client [user]@[ip_address]"
)
return
if not len(client.split("@")) == 2:
click.echo(
"Usage: set_hosts.py --server [user]@[ip_address] --client [user]@[ip_address]"
)
return
server_address = server.split("@")[1]
client_address = client.split("@")[1]
server_user = server.split("@")[0]
client_user = client.split("@")[0]
if not (
server_user and client_user and server_address and client_address
):
click.echo(
"Usage: set_hosts.py --server [user]@[ip_address] --client [user]@[ip_address]"
)
return
# create the hosts file
HostsManager(server_address, client_address, server_user, client_user)
if __name__ == "__main__":
cli()