Skip to content

gjmorale/ArquiProcesador

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dolphin (back-end)

Este aburrido archivo readme habla sobre

Descripción

Este componente de 🐬 se puede subdividir, grosso modo, en dos fases: primero, NewsMiner obtiene, limpia y estructura las noticias; luego, con NewsProcessor, se desarrolla un análisis sobre ellas. Entonces, para cada etapa, hemos definido un subcomponente.

NewsMiner

Este subcomponente busca noticias tanto en fuentes que funcionen con RSS/Atom, como en otro tipo de noticieros —algo arcaicos, probablemente— que no ofrezcan ningún tipo de sindicación. Después de encontrar las noticias, devuelve esta información de manera organizada.

NewsProcessor

Este subcomponente está encargado del procesamiento de las noticias entregadas por NewsMiner. Cuenta con filtros que permiten clasificar según diferentes categorías, eventos, lugares o personajes.

Herramientas

Python será nuestra principal herramienta de trabajo. 🐍
⚠️ Para evitar fallas de compatibilidad, se debe usar la versión 3.4.X.

Librerías de Python

Las librerías utilizadas están resumidas en la siguiente tabla.

Nombre ¿Y para qué? Versión
beautifulsoup4 Para hacer parsing de documentos HTML. 4.4.0
feedparser Para obtener noticias de fuentes RSS. 5.2.1
nltk Para analizar lenguaje natural. 3.1.0
pika Para implementar colas de noticias. 0.10.0
requests Para hacer solicitudes HTTP. 2.7.0

Todas ellas aparecen, además, en el archivo requirements.txt. Luego, se debe usar este archivo para instalarlas con pip. Esto permite que tengamos las mismas versiones al momento de trabajar, consiguiendo instalaciones replicables, sin hacer esfuerzo. Bueno, un poco: debemos escribir

$ pip install -r requirements.txt

En efecto, esto es... as easy as py. 😀

Estructura

La estructura del repositorio está resumida en las siguientes tablas.

Archivos

Nombre ¿Y qué hace?
.gitignore Reglas para que git ignore ciertos archivos/carpetas.
requirements.txt Librerías utilizadas por pip.

Carpetas

Nombre ¿Y qué hace?
NewsMiner Minería de noticias.
NewsProcessor Procesamiento de las noticias.

Manual de estilo

Aquí no hay sorpresas: intentaremos seguir el PEP8, amigo lector. No obstante, aun más importante, es que trataremos de incorporar el PEP20 —también conocido como The Zen of Python. En este texto, el séptimo principio sucintamente afirma: readability counts. No olvidemos que el código será leído muchas más veces que escrito. Por esto, nuestro benevolente pastor, nos orienta al declarar que...

A style guide is about consistency.
Consistency with this style guide is important.
Consistency within a project is more important.
Consistency within one module or function is most important.

But most importantly: know when to be inconsistent -- sometimes the style guide just doesn't apply. When in doubt, use your best judgment. Look at other examples and decide what looks best.

En otras palabras, estas normas no deben ser aplicadas ciegamente. Si bien el PEP8 nos encamina, también tendremos que usar nuestro criterio.

About

Proyecto grupal de Arquitectura de Software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages