Skip to content

Commit 6f8a7a7

Browse files
author
JohanAnim
committed
feat: Implementa la notificación de actualizaciones
1 parent 414e813 commit 6f8a7a7

3 files changed

Lines changed: 82 additions & 0 deletions

File tree

addon/globalPlugins/note diary/addon_gui/main_dialog.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,22 @@ def __init__(self, parent):
102102
self.btnCerrar.Bind(wx.EVT_BUTTON, self.onExit)
103103
self.SetEscapeId(self.btnCerrar.GetId())
104104

105+
# Mostrar el changelog si existe
106+
self._show_changelog()
107+
108+
def _show_changelog(self):
109+
changelog_path = os.path.join(os.path.dirname(__file__), "..", "cambios.txt")
110+
if os.path.exists(changelog_path):
111+
try:
112+
with open(changelog_path, "r", encoding="utf-8") as f:
113+
changelog_content = f.read()
114+
# Translators: Title of the dialog that shows the new features of the version
115+
wx.MessageBox(changelog_content, _("Novedades de la versión"), wx.OK | wx.ICON_INFORMATION)
116+
os.remove(changelog_path)
117+
except Exception as e:
118+
# Translators: Error message when the changelog file cannot be read
119+
wx.MessageBox(_("No se pudo leer el archivo de cambios: ") + str(e), _("Error"), wx.OK | wx.ICON_ERROR)
120+
105121
def onMenu(self, event):
106122
# create a menu
107123
menu = wx.Menu()
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## 2025.7.11 - 2025-07-11
2+
3+
### Nuevas características
4+
5+
* Se ha añadido una función de vista previa en formato web para los capítulos, permitiendo una mejor visualización del contenido.
6+
* Se ha mejorado la gestión de errores al guardar los capítulos, proporcionando una retroalimentación más clara al usuario.
7+
* Se ha añadido el directorio `lib` al `path` de Python para una mejor gestión de las dependencias.
8+
9+
### Cambios y mejoras
10+
11+
* Se ha actualizado el enlace de descarga en la documentación.
12+
* Se han realizado varias mejoras en la lógica de los diálogos y la gestión de eventos.
13+
14+
### Correcciones
15+
16+
* Se ha solucionado un error que impedía abrir la documentación con la tecla F1.

update.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# -*- coding: utf-8 -*-
2+
3+
import re
4+
import os
5+
6+
def main():
7+
"""
8+
Función principal para generar el archivo de cambios de la última versión.
9+
"""
10+
try:
11+
# 1. Leer la versión desde buildVars.py
12+
with open("buildVars.py", "r", encoding="utf-8") as f:
13+
content = f.read()
14+
match = re.search(r'addon_version":\s*"([^"]+)"', content)
15+
if not match:
16+
raise ValueError("No se pudo encontrar la versión en buildVars.py")
17+
current_version = match.group(1)
18+
19+
# 2. Leer CHANGELOG.md
20+
with open("CHANGELOG.md", "r", encoding="utf-8") as f:
21+
changelog_content = f.read()
22+
23+
# 3. Extraer los cambios para la versión actual
24+
pattern = re.compile(
25+
r"(##\s+" + re.escape(current_version) + r".*?)(?=##\s+\d|\Z)",
26+
re.DOTALL | re.IGNORECASE
27+
)
28+
match = pattern.search(changelog_content)
29+
30+
if not match:
31+
raise ValueError(f"No se encontraron cambios para la versión {current_version} en CHANGELOG.md")
32+
33+
version_changes = match.group(1).strip()
34+
35+
# 4. Escribir en cambios.txt
36+
output_path = os.path.join("addon", "globalPlugins", "note diary", "cambios.txt")
37+
os.makedirs(os.path.dirname(output_path), exist_ok=True)
38+
39+
with open(output_path, "w", encoding="utf-8") as f:
40+
f.write(version_changes)
41+
42+
print(f"Archivo de cambios generado exitosamente para la versión {current_version} en {output_path}")
43+
44+
except FileNotFoundError as e:
45+
print(f"Error: No se encontró el archivo {e.filename}")
46+
except Exception as e:
47+
print(f"Ocurrió un error inesperado: {e}")
48+
49+
if __name__ == "__main__":
50+
main()

0 commit comments

Comments
 (0)