|
from typing import Tuple |
|
|
|
import gradio as gr |
|
import requests |
|
|
|
|
|
def is_active(url) -> Tuple[bool, str]: |
|
try: |
|
response = requests.get(url, timeout=10) |
|
if 200 <= response.status_code < 300: |
|
return True, f"The website {url} is active." |
|
else: |
|
return ( |
|
False, |
|
f"The website {url} returned status code {response.status_code}.", |
|
) |
|
except requests.ConnectionError: |
|
return False, f"Failed to connect to {url}." |
|
except requests.Timeout: |
|
return False, f"The request to {url} timed out." |
|
except requests.RequestException as e: |
|
return False, f"An error occurred: {e}" |
|
|
|
|
|
demo = gr.Interface( |
|
fn=is_active, |
|
inputs="text", |
|
outputs=[ |
|
gr.Textbox(label="Status (True/False)"), |
|
gr.Textbox(label="Message"), |
|
], |
|
title="Website Activity Checker", |
|
description="Enter a URL to check if the website is active.", |
|
allow_flagging="never", |
|
) |
|
|
|
demo.launch() |
|
|