Open Ranie2704A opened 1 day ago
import ping3 from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy
app = Flask(name) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///ips.db' db = SQLAlchemy(app)
class IPAddress(db.Model): id = db.Column(db.Integer, primary_key=True) address = db.Column(db.String(15), unique=True, nullable=False) status = db.Column(db.String(50), nullable=True)
@app.route('/ping/
ip = IPAddress.query.filter_by(address=ip_address).first()
if ip:
ip.status = status
else:
ip = IPAddress(address=ip_address, status=status)
db.session.add(ip)
db.session.commit()
return jsonify({'ip_address': ip_address, 'status': status})
@app.route('/ips', methods=['GET', 'POST']) def manage_ips(): if request.method == 'POST': ip_address = request.json['address'] ip = IPAddress(address=ip_address) db.session.add(ip) db.session.commit() return jsonify({'message': 'IP address added successfully'}), 201 else: ips = IPAddress.query.all() return jsonify([{'address': ip.address, 'status': ip.status} for ip in ips])
if name == 'main': db.create_all() app.run(debug=True)
What Roadmap is this project for?
Backend Roadmap
Project Difficulty
Intermediate
Add Project Details
Build a project to admin IPs and make them ping to verify the status. (Package sents - received)