[text] task managment main

Viewer

copydownloadembedprintName: task managment main
  1. from flask import Flask, jsonify, request, render_template, redirect
  2. import smtplib, ssl
  3. from flask_sqlalchemy import SQLAlchemy
  4. from models import Task
  5. from models.Task import app, db
  6.  
  7.  
  8.  
  9. """shows all tasks from db"""
  10. @app.route("/")
  11. def get_all(methods=["GET"]):
  12.     tasks = Task.query.all()
  13.     return render_template('index.html', tasks=tasks)
  14.  
  15.  
  16. """insert task"""
  17. @app.route("/add", methods=["POST"])
  18. def add():
  19.     title = request.form.get('title')
  20.     new_task = Task(title=title)
  21.     db.create_all()
  22.     db.session.add(new_task)
  23.     db.session.commit()
  24.     return jsonify({'message': 'task added'})
  25.  
  26.  
  27.  
  28. """marks task as completed"""
  29. @app.route("/update/<int:id>")
  30. def update(id):
  31.     task = Task.query.get(id)
  32.     task.complete = not task.complete
  33.     db.session.commit()
  34.  
  35.     return jsonify({'message': 'task completed'})
  36.  
  37.  
  38. """finds a task by id"""
  39. @app.route("/<int:id>")
  40. def find(id):
  41.     task = Task.query.get(id)
  42.     if task:
  43.         return render_template('task_detail.html', task=task)
  44.     else:
  45.         return f"Task with ID {id} not found.", 404
  46.  
  47.  
  48. """delete task"""
  49. @app.route("/delete/<int:id>")
  50. def delete(id, methods=["DELETE"]):
  51.     task = Task.query.get(id)
  52.     db.session.delete(task)
  53.     db.session.commit()
  54.     return jsonify({'message': 'task deleted'})
  55.  
  56.  
  57.  
  58. """send mail"""
  59. @app.route("/send-email/<int:id>")
  60. def send_email(id, methods=["GET"]):
  61.     context = ssl.create_default_context()
  62.     try:
  63.         server = smtplib.SMTP(smtp_server,port)
  64.         server.ehlo()
  65.         server.starttls(context=context) 
  66.         server.ehlo()
  67.         server.login(sender_email, password)
  68.         # TODO: Send email here
  69.         server.sendmail(sender_email, '[email protected]', 'test')
  70.         return jsonify({'message': 'email sent'})
  71.     except Exception as e:
  72.         return jsonify({'error': str(e)}), 500
  73.     finally:
  74.         server.quit()
  75.  
  76.  
  77. if __name__ == '__main__':
  78.     app.run(host='localhost', port=5001)

Editor

You can edit this paste and save as new:


File Description
  • task managment main
  • Paste Code
  • 17 Apr-2024
  • 1.96 Kb
You can Share it: