LolWut

Pagina para discutir lo que va a ser la proxima release de emesene, va en castellano, porque va a ser una discusion con dx, cuando quede algo fijo, quizas se traduzca.

dudas

  • reescritura de cero?

marianoguerra: si, usando lo de abstract

  • que usamos de lib de protocolo?

marianoguerra: extender ContactManager? y GroupManager?, agregando SessionManager? y ConversationManager? para el manejo de todo lo que es protocol related, ver como wrapear pymsn a eso y yo tengo interes por wrapear xmmpy, al tratar de soportar tres librerias a la vez, nos va a obligar a hacer las cosas lo suficientemente genericas. (donde dije 3 y no te cierran las cuentas, es porque tengo interes de empezar e3 de nuevo)

  • lineamientos generales
  • nuevo config, que use singleton, asi no pasamos referecias a todos lados y que use http://docs.python.org/lib/SafeConfigParser-objects.html, para tener configuraciones read only y globales, que el mismo sea usado por los plugins, esta config va a tener como readonly todas las constantes que actualmente estan en emesenecommon.
  • Una clase ImageCache? que cuando le pedis una imagen por path te devuelva una referencia si ya existe, la abra y te la devuelva si no la tiene cargada y cada vez que se acceda se actualize un timestamp cada cierto tiempo se checkea que el timestamp sea mas grande que timestamp_actual - N si no tiene referencias, si hace mas de N segundos que no se solicita y no tiene referencias se libera, de esa manera, todas las referencias a una imagen apuntan al mismo lado, se maneja bien la liberacion de recursos y se administran las imagenes de forma centralizada.
  • arriba de imagen cache un nuevo thememanager que basicamente abra de cada theme un archivo que mapee nombres genericos a paths a donde busca las imagenes (de esa forma no obligamos a que las imagenes de los distintos themes tengan el mismo nombre ni la misma extension).
  • nuevo sistema de plugins que en el arranque lea toda la info de los plugins de un archivo de configuracion, cuestion de no hacer imports de los plugins a menos que sean habilitados, cada plugin en una carpeta (http://docs.python.org/lib/module-zipimport.html?) cuestion de que los plugins puedan tener mas de un .py, puedan tener recursos adentro etc.
  • usar http://en.wikipedia.org/wiki/Fa%C3%A7ade_pattern para facilitar el acceso de los plugins a las partes de emesene, y entre las partes de emesene entre si.
  • ncurses FTW!.
  • OMGOMGOMG necesitamos un parser decente y bien diseñado desde el inicio.
  • reescribir logger con performance en mente.

  • que hay mas o menos hecho que sea usable?
    • dialogos (todos listos)
    • menues (casi listos)
    • userlist (70%)
    • configDialog (esta casi listo, anda de diez, lo unico que falta son detalles esteticos)

todo lo arriba expuesto esta sujeto a modificacion, espero tus comentarios.