Tasks Py es una aplicacion desarrollada en Python para tener un control de tareas por hacer todo desde la terminal usando Python y SQLite.
La aplicacion Tasks Py esta desarrollada para la terminal por lo que para implementar las funciones vamos a tener un menu con las opciones numeradas y en la parte de abajo hay un prompt para escribir el numero de opcion que queremos, despues se ejecutara la opcion es escojamos y de nuevo se mostrara el menu hasta que ejecutemos la opcion salir.
El menu de opciones tiene las siguientes funciones.
- 1. Ver tareas Pendientes
- 2. Marcar tarea como finalizada
- 3. Marcar tarea como pendiente
- 4. Ver todas las tareas
- 5. Agrega nueva tarea
- 6. Eliminar tarea
- 7. Salir
Codigo
A continuacion el codigo, esta dividido en 2 archivos. install.py que contiene la instalacion y creacion de la base de datos SQLite.
# Powered by Evilnapsis import sqlite3 con = sqlite3.connect("tasks.db") cur = con.cursor() #cur.execute("drop table task") print("TASKS SYSTEM") cur.execute("create table if not exists task (id integer not null primary key, title varchar(255), status int, created_at datetime)") print("[+] Tabla task")
Y el siguiente codigo es el main.py el cual contiene todas las funciones necesarias para hacer que la aplicacion funcione.
import sqlite3 # Funcion para mostrar el menu # esta funcion se muestra todo el tiempo table_name = "tasks.db" def menu(): i = 0 while i!=8: print("\n\n-----* TASKS PY *-------") print("----- MENU -------") print("1. Ver Tareas Pendientes") print("2. Marcar Tarea Finalizada") print("3. Marcar Tarea Pendiente") print("4. Ver Todas las Tareas") print("5. Agregar Tareas") print("6. Eliminar Tarea ") print("7. Salir") i = input("\nOpcion > ") i = int(i) print("Opcion seleccionada: ", i) print("------------------------------") if i == 1: ver_pendientes() elif i==2: marcar_finalizado() elif i==3: marcar_pendiente() elif i==4: ver_tareas() elif i==5: agregar_tarea() elif i==6: eliminar_tarea() elif i==7: print("-- [ Powered by Evilnapsis] --") exit() # Funcion para ver las tareas def ver_pendientes(): print("\n\n---- VER TAREAS PENDIENTES -----") con = sqlite3.connect(table_name) cursor = con.cursor() cursor2 = con.cursor() rows = cursor.execute("select * from task where status=0") print("ID | TAREA | ESTADO ") for r in rows: status = "PENDIENTE" if r[2]==1: status="FINALIZADO" print(r[0], " | ", r[1], " | ", status) con.commit() print("------------------------\n\n") menu() # Regresar al menu principal # Funcion para marcar las tareas como finalizadas def marcar_finalizado(): print ("\n\n----- MARCAR TAREA COMO FINALIZADA ----") id_product = input("Id de la Tarea > ") id_product = str(id_product) con = sqlite3.connect(table_name) valores = (id_product) con.execute("update task set status=1 where id=?", valores) con.commit() print("[+] Agregado exitosamente!") print("------------------------\n\n") menu() # Regresar al menu Principal # Funcion para Marcar las tareas como pendientes def marcar_pendiente(): print ("\n\n----- MARCAR TAREA COMO PENDIENTE ----") id_product = input("Id de la Tarea > ") id_product = str(id_product) con = sqlite3.connect(table_name) valores = (id_product) con.execute("update task set status=0 where id=?", valores) con.commit() print("[+] Agregado exitosamente!") print("------------------------\n\n") menu() # Regresar al menu Principal # Funcion para agregar una tarea a la base de datos def agregar_tarea(): print ("\n\n----- AGREGAR TAREA ----") title = input("Descripcion de la Tarea > ") title = str(title) con = sqlite3.connect(table_name) valores = (title, 0, "NOW()") con.execute("insert into task (title, status,created_at) values (?,?,?)", valores) con.commit() print("[+] Agregado exitosamente!") print("------------------------\n\n") menu() # Regresar al menu Principal # Funcion para ver tareas def ver_tareas(): print("\n\n---- VER TODAS LAS TAREAS -----") con = sqlite3.connect(table_name) cursor = con.cursor() rows = cursor.execute("select * from task") print("ID | TAREA | ESTADO ") for r in rows: status="PENDIENTE" if r[2]==1: status="FINALIZADO" print(r[0], " | ", r[1], " | ", status) con.commit() print("------------------------\n\n") menu() # Regresar al menu principal # Funcion para eliminar tareas de la BD def eliminar_tarea(): print ("\n\n----- ELIMINAR TAREA ----") id_task = input("Id de la Tarea > ") id_task = str(id_task) con = sqlite3.connect(table_name) cursor = con.cursor() cursor.execute("delete from task where id=?", (id_task)) con.commit() print("[-] Eliminado exitosamente!") print("------------------------\n\n") menu() # Regresar al menu Principal # Llamar al menu por primera vez menu()
Para hacer funcionar el script tenemos que ejecutar primero el archivo install.py
py install.py
Y despues ya ejecutar el archivo main.py.
py main.py
Si instalaste todo bien entonces te va a salir el menu tal como se muestra en la imagen del principio.
Descargar
Si guiqres descargar los archivos puedes usar el siguiente enlace.
Link: https://www.dropbox.com/s/j24bz0pp7lyur4i/tasks-py.zip?dl=0