Skip to content

[Proyecto I] Cinefilia #317

Open
Open

Description

@charlieBrown046

Nombre: Carlos R. Alvarez Quevedo
Grupo: C-111
Repositorio: https://github.com/charlieBrown046/Cinefilia

Descripción

Gestor de Festivales de cine con búsqueda de películas online.

Activity

  1. github-actions commented on Jun 26, 2026

    @github-actions

    Verificación Automática — Proyecto I 🤖

    Repositorio analizado: https://github.com/charlieBrown046/Cinefilia

    1. Repositorio

    ✅ El repositorio es accesible y fue clonado correctamente.

    2. Informe (report.md)

    ❌ No se encontró report.md en el repositorio.

    3. Proyecto Python

    ⚠️ Sin pyproject.toml.
    ⚠️ Sin requirements.txt.

    Archivos Python (50, 2,219 líneas en total):

    • CinefiliaGodot/python_logic/dateLabel_from_dateObj.py
    • CinefiliaGodot/python_logic/menu_PopularPoster.py
    • CinefiliaGodot/python_logic/administrator_addButton.py
    • CinefiliaGodot/python_logic/event_dateButton.py
    • CinefiliaGodot/python_logic/administrator_scriptManager.py
    • CinefiliaGodot/python_logic/administrator_eliminate.py
    • CinefiliaGodot/python_logic/event_nameAndDate.py
    • CinefiliaGodot/python_logic/event_addCinema.py
    • CinefiliaGodot/python_logic/clockCinema.py
    • CinefiliaGodot/python_logic/dateNew.py
    • CinefiliaGodot/python_logic/menu_findMovie.py
    • CinefiliaGodot/python_logic/event_dayManager.py
    • CinefiliaGodot/python_logic/dateObj.py
    • CinefiliaGodot/python_logic/menu_SwitchButtons.py
    • CinefiliaGodot/python_logic/administrator_loadImageCinema.py
    • (y 35 más)

    4. Punto de Entrada

    ⚠️ No se encontró un punto de entrada claro (main.py, app.py, etc.).

    5. Ejecución

    ⚠️ Sin punto de entrada identificado — no se intentó ejecutar.

    Resumen

    • ✅ Repositorio accesible
    • ❌ report.md con ≥2000 palabras
    • ✅ Archivos Python
    • ❌ Configuración de dependencias
    • ❌ Punto de entrada
    • ❌ Ejecución

    2/6 verificaciones pasadas.


    Verificación automática — los resultados son orientativos. El profesor revisará en detalle.

  2. apiad commented on Jul 15, 2026

    @apiad
    Member

    🔍 Revisión de Código — Claude Code

    Repositorio: https://github.com/charlieBrown046/Cinefilia

    Qué hace tu proyecto

    Construiste Cinefilia, un gestor de festivales de cine, pero lo hiciste de
    una forma poco común y muy meritoria: en vez de una app de consola, levantaste
    una aplicación gráfica completa en Godot 3.5.3 escribiendo toda la lógica en
    Python
    (vía el addon godot-python). Integraste la API real de TMDb para
    buscar películas y mostrar sinopsis, puntuación, duración y póster; montaste un
    administrador de recursos (cines, servicios de comida, trabajadores) con
    guardado en JSON; y empezaste el sistema de festivales con validación de fechas.

    Ejecución

    Tu código no es Python "de consola": cada .py es una clase de nodo Godot
    (from godot import *, @exposed class X(Control)), fuertemente acoplada al
    motor. Por eso no arranca bajo Python normal (el módulo godot solo existe
    dentro de Godot), y sin el ejecutable de Godot ni pantalla no pude correr la GUI
    completa. Lo que sí hice fue ejecutar de verdad la lógica separable y validar
    la persistencia contra tus JSON reales:

    • py_compile de los 16 módulos con Python 3.12: pasa, sin errores de
      sintaxis.
    • Tu validación de fechas de festival la corrí con 11 casos: acepta rangos
      válidos, rechaza correctamente día 32, mes 13, 29-feb en año no bisiesto,
      duración >30 días y fecha inicial posterior a la final. Robusta, no revienta.
    • La navegación día a día contra tu eventHandlerData.json real (2 festivales)
      lee bien primer y último día.
    • El round-trip del administrador contra administratorSave.json real: tus
      horas codificadas como minutos decodifican exacto (744 → 12:24, 1212 → 20:12) y
      el esquema de guardado coincide campo por campo con el de carga.

    Lo que está bien

    • Ambición y ejecución técnica reales: GUI en Godot con lógica Python,
      integración de una API viva y persistencia JSON coherente. Mucho para 1er año.
    • Convención de nombres limpia (menu_, administrator_, event_) que mapea
      cada script con su escena — navegar 16 archivos fue fácil.
    • Modelado de dominio con clases Cinema, FoodService, Movies y un
      assignWorker() que usa for/else correctamente.
    • Validación de fechas robusta: apoyarte en datetime.strptime para validar
      el calendario y capturar ValueError es exactamente lo correcto.

    Qué mejorar

    • from asyncio.windows_events import NULL (menu_findMovie.py:2) rompe fuera
      de Windows
      : verifiqué que en Linux/macOS lanza ImportError: win32 only y el
      módulo entero no carga. Cámbialo por None (es lo que querías) — así tu
      buscador funciona en cualquier sistema.
    • _ready del administrador abre administratorSave.json sin try/except
      (administrator_scriptManager.py:117)
      : en la primera ejecución (sin archivo
      guardado) daría FileNotFoundError. Curiosamente en event_nameAndDate.py y
      event_dayManager.py sí lo proteges — aplica el mismo patrón aquí.
    • data["results"][0] sin comprobar lista vacía (menu_findMovie.py:51): si
      buscas una película que no existe, TMDb devuelve resultados vacíos y revienta
      con IndexError. Ya proteges el póster con try/except; extiende esa guarda a
      la sinopsis/puntuación/fecha.
    • Imports basura del autocompletado: from cProfile import label, from pydoc import text, from operator import truediv, etc., en casi todos los
      archivos. No se usan; bórralos para que el código respire.
    • Detalle: mapear día inglés→español con un diccionario ({"Monday": "Lunes"})
      es más corto que la cadena de if/elif en dateNew.py. Y quedaron algunos
      print("Hola") de depuración.

    Sobre el informe

    No hay report.md, pero tu README.md cumple esa función y está bien: con
    índice, justificación de usar Godot, ejemplo real de la integración TMDb y
    descripción por secciones. Lo mejor es que eres honesto: dices claramente que
    la sección de Festivales está incompleta y enumeras qué falta (las reglas de
    trabajadores/horarios/comida), y eso coincide con el código — no está
    implementado, es especificación. No exageras nada. Detalle mínimo: en Contacto
    quedó el placeholder "Tu Nombre".

    Muy buen trabajo animándote con Godot y una API real. Con esos tres arreglos de
    robustez (NULL→None, try/except en la carga, y la guarda del IndexError) el
    proyecto queda mucho más firme. ¡Sigue así!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions