diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/MutiFunctionProgramProject.iml b/.idea/MutiFunctionProgramProject.iml
new file mode 100644
index 0000000..07abf20
--- /dev/null
+++ b/.idea/MutiFunctionProgramProject.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..db8786c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..e417eeb
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main.py b/src/main.py
index 2e8efb1..8b1ade7 100644
--- a/src/main.py
+++ b/src/main.py
@@ -1,4 +1,4 @@
-from ui.centered_window import CenteredWindow
+from src.ui.centered_window import CenteredWindow
def main():
try:
diff --git a/src/services/EmailClient.py b/src/services/EmailClient.py
new file mode 100644
index 0000000..18917b3
--- /dev/null
+++ b/src/services/EmailClient.py
@@ -0,0 +1,30 @@
+import imaplib
+import smtplib
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+
+class EmailClient:
+ def __init__(self, imap_server, smtp_server, email, password, imap_port=993, smtp_port=587):
+ self.imap_server = imap_server
+ self.smtp_server = smtp_server
+ self.email = email
+ self.password = password
+ self.imap_port = imap_port
+ self.smtp_port = smtp_port
+ self.imap_conn = None
+ self.smtp_conn = None
+ self.connect_imap()
+ self.connect_smtp()
+
+ def connect_imap(self):
+ """Conexión del servidor IMAP"""
+ self.imap_conn = imaplib.IMAP4_SSL(self.imap_server, self.imap_port)
+ self.imap_conn.login(self.email, self.password)
+
+ def connect_smtp(self):
+ """Conexión del servidor SMTP"""
+ self.smtp_conn = smtplib.SMTP(self.smtp_server, self.smtp_port)
+ self.smtp_conn.starttls()
+ self.smtp_conn.login(self.email, self.password)
+
+
diff --git a/src/services/Radio_Player.py b/src/services/Radio_Player.py
index 428b769..b8d384b 100644
--- a/src/services/Radio_Player.py
+++ b/src/services/Radio_Player.py
@@ -1,6 +1,6 @@
import vlc
import time
-from services.threaden_task import ThreadenTask
+from src.services.threaden_task import ThreadenTask
class RadioPlayer:
def __init__(self):
diff --git a/src/services/__pycache__/Radio_Player.cpython-312.pyc b/src/services/__pycache__/Radio_Player.cpython-312.pyc
index 42f58a0..e8dc4b6 100644
Binary files a/src/services/__pycache__/Radio_Player.cpython-312.pyc and b/src/services/__pycache__/Radio_Player.cpython-312.pyc differ
diff --git a/src/services/__pycache__/scrapper.cpython-312.pyc b/src/services/__pycache__/scrapper.cpython-312.pyc
index eae5671..15133a5 100644
Binary files a/src/services/__pycache__/scrapper.cpython-312.pyc and b/src/services/__pycache__/scrapper.cpython-312.pyc differ
diff --git a/src/services/__pycache__/threads_manager.cpython-312.pyc b/src/services/__pycache__/threads_manager.cpython-312.pyc
index 16b6699..1c163e7 100644
Binary files a/src/services/__pycache__/threads_manager.cpython-312.pyc and b/src/services/__pycache__/threads_manager.cpython-312.pyc differ
diff --git a/src/services/scrapper.py b/src/services/scrapper.py
index 4dfa30b..c312407 100644
--- a/src/services/scrapper.py
+++ b/src/services/scrapper.py
@@ -4,7 +4,7 @@ from bs4 import BeautifulSoup
from urllib.parse import urljoin
import mysql.connector
from queue import Queue
-from services.threaden_task import ThreadenTask
+from src.services.threaden_task import ThreadenTask
#http://books.toscrape.com/ test scrap web
diff --git a/src/services/threads_manager.py b/src/services/threads_manager.py
index 051b9d3..9616cb8 100644
--- a/src/services/threads_manager.py
+++ b/src/services/threads_manager.py
@@ -1,13 +1,13 @@
import datetime
-import time
-import requests
import random
+import time
+
+import requests
+
+from src.services.Radio_Player import RadioPlayer
+from src.services.scrapper import Scrapper
+from src.services.threaden_task import ThreadenTask
-from services.threaden_task import ThreadenTask
-from services.system_monitor import SystemMonitor
-from services.tetris_game import TetrisGame
-from services.scrapper import Scrapper
-from services.Radio_Player import RadioPlayer
class ThreadsManager:
"""Constructor"""
diff --git a/src/ui/__pycache__/centered_window.cpython-312.pyc b/src/ui/__pycache__/centered_window.cpython-312.pyc
index 1081e5a..671907a 100644
Binary files a/src/ui/__pycache__/centered_window.cpython-312.pyc and b/src/ui/__pycache__/centered_window.cpython-312.pyc differ
diff --git a/src/ui/centered_window.py b/src/ui/centered_window.py
index bea818b..485bfb4 100644
--- a/src/ui/centered_window.py
+++ b/src/ui/centered_window.py
@@ -1,16 +1,11 @@
-import customtkinter as ctk
import tkinter as tk
-import webbrowser
-import subprocess
-import os
-import threading
-from tkinter import filedialog
-from services.threads_manager import ThreadsManager
-from services.processes_manager import ProcessManager
-from services.tetris_game import TetrisGame
-from services.system_monitor import SystemMonitor
-from services.Radio_Player import RadioPlayer
+import customtkinter as ctk
+
+from src.services.processes_manager import ProcessManager
+from src.services.system_monitor import SystemMonitor
+from src.services.tetris_game import TetrisGame
+from src.services.threads_manager import ThreadsManager
class CenteredWindow(ctk.CTk):