automated terminal push
This commit is contained in:
52
test/success/eval-failure-create-new.py
Normal file
52
test/success/eval-failure-create-new.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import requests
|
||||
import json
|
||||
import socket
|
||||
import netifaces # For getting external IP (install with: pip install netifaces)
|
||||
|
||||
def get_external_ip():
|
||||
"""Gets the external IP address using a reliable service."""
|
||||
try:
|
||||
response = requests.get("https://api.ipify.org?format=json", timeout=5) # Use a reliable service
|
||||
response.raise_for_status() # Raise an exception for bad status codes (4xx or 5xx)
|
||||
ip_data = response.json()
|
||||
return ip_data["ip"]
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Error getting external IP: {e}")
|
||||
return "0.0.0.0" # Or some other default value
|
||||
|
||||
def get_hostname():
|
||||
"""Gets the local hostname."""
|
||||
try:
|
||||
return socket.gethostname()
|
||||
except Exception as e:
|
||||
print(f"Error getting hostname: {e}")
|
||||
return "unknown_host"
|
||||
|
||||
def create_success_record(url):
|
||||
"""Creates a new 'success' record in the database."""
|
||||
external_ip = get_external_ip()
|
||||
hostname = get_hostname()
|
||||
|
||||
data = {
|
||||
"url": url,
|
||||
"hostIP": external_ip,
|
||||
"hostName": hostname
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(
|
||||
"http://localhost:8888/channel/monthly/games/failure/add",
|
||||
headers={'Content-Type': 'application/json'},
|
||||
data=json.dumps(data) # Use json.dumps() to serialize the data
|
||||
)
|
||||
response.raise_for_status() # Check for HTTP errors
|
||||
print("Successfully created record:", response.json()) # Print the response from the server
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Error creating record: {e}")
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"Error decoding JSON response: {e}") # Handle potential JSON decode errors
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
url = "https://www.embanet.com/talisman.txt" # Replace with your actual URL
|
||||
create_success_record(url)
|
||||
Reference in New Issue
Block a user