mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-26 07:42:36 +03:00
homework 4.2: add question 4
This commit is contained in:
40
src/homework/04-script/4.2/q4.py
Executable file
40
src/homework/04-script/4.2/q4.py
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import json
|
||||
import io
|
||||
import socket
|
||||
|
||||
filename = 'hosts.json'
|
||||
|
||||
hostsList = {
|
||||
"drive.google.com",
|
||||
"mail.google.com",
|
||||
"google.com"
|
||||
}
|
||||
|
||||
with open(filename, 'r+') as file:
|
||||
jsonStr = file.read()
|
||||
try:
|
||||
jsonObj = json.load(io.StringIO(jsonStr))
|
||||
except BaseException as err:
|
||||
jsonObj = dict({})
|
||||
print('error {}'.format(err))
|
||||
exit(1)
|
||||
|
||||
file.truncate(0)
|
||||
file.seek(0)
|
||||
|
||||
for hostname in hostsList:
|
||||
ipAddr = socket.gethostbyname(hostname)
|
||||
prevIpAddr = jsonObj.get(hostname)
|
||||
|
||||
if prevIpAddr is None or prevIpAddr == '':
|
||||
prevIpAddr = ipAddr
|
||||
|
||||
print('{} - {}'.format(hostname, ipAddr))
|
||||
if ipAddr != prevIpAddr:
|
||||
print('[ERROR] {} IP mismatch: {} {}'.format(hostname, ipAddr, prevIpAddr))
|
||||
|
||||
jsonObj[hostname] = ipAddr
|
||||
|
||||
file.write(json.dumps(jsonObj))
|
||||
Reference in New Issue
Block a user