עריכת שירים אונליין
אגרה ללא מרשםוי
תרגום טכני
рейтинг брокеров бинарных опционов 2016
קמגרה למכירה
алиэксспресс

Tag Archives: FLISOL

De certificados y esas rarezas humanas

Y ya en el ocaso del mes rasguño la mitad de las obligaciones autoimpuestas. El tiempo últimamente se me escurre como agua entre los dedos de los pies, sin embargo acá estoy, firme como un soldado, cumpliendo, aún con los ojos llenos de sueño.

En base a una detallada observación del reino animal, puedo decir que la raza humana se diferencia del resto de los animales en su obsesión por los certificados. Quiere una constancia de cada charla que presenció, ya sea sobre las similitudes entre un dogo argentino y el tema Cantata de Puentes Amarrillos de Luis Alberto, y no te das una idea de la cantidad de mails que son capaces de mandarte pidiéndote dicho “pelpa”, mas aún si les dijiste que se los ibas a dar. Ay, ay, ay, yo y mi bocota! (estimado lector, si ud. se siente agraviado, dese cuenta que es un chiste y sea feliz).

Así que bueno, 72 gentes (saludos a Corrientes!) querían un certificado por haber asistido al Festival de instalación de software libre mas grande del mundo, el FLISOL, y para darle lo que ellos querían, robé y usé código de por ahí, mas algo de lo que ya mostré otras veces en este hermoso lugar que tan a menudo nos encuentra. La receta fue la siguiente:

Ingredientes

  • Archivo CSV con 4 columnas: nombre, apellido, email, mas un campo que dice si quiere certificado (si/No)
  • Plantilla svg para el certificado
  • Código certg de Facundo Batista para generar certificados
  • Código desarrollado anteriormente para mandar emails

Preparación

Aprovechando nuestra inmensa capacidad en las artes pictóricas, hacemos una plantilla con inkscape poniendo una etiqueta para que sea reemplazada con el nombre y apellido de la persona:  {{name}}

El código certg va a generar un pdf poniendo en esa etiqueta los nombres que lea de un archivo yaml. Entonces, para no modificar ese código, hacemos un breve script que lea el CSV donde se encuentran todos los datos de las personas que asistieron al evento y los escriba en un nuevo archivo basándose en el yaml base, y obviamente manteniendo el formato. ¿Por qué me decidí por esta alternativa? porque quería aprender a generar y leer yaml. Entonces, ahí va:

# -*- coding: utf-8 -*-
#!/usr/bin/env python3

import yaml
import csv

fh = open('base.yaml', 'rt')
f2 = open('flisol2014.yaml', 'w')

config = yaml.load(fh)

#Columna del apellido y nombre en el archivo csv
col_ape = 0
col_nom = 1

with open('flisol-2014-asistentes.csv', 'rb') as csvfile:
    lista_inscriptos = csv.reader(csvfile, delimiter=';', quotechar='|')
    for inscripto in lista_inscriptos:
        if inscripto[3]=='si':
            config['replace_info'].append({'stopit':'.','name':inscripto[1]+
            ' '+inscripto[0]})

f2.write(yaml.dump(config,encoding=None))

Ahora tenemos en el archivo flisol2014.yaml todo listo para generar los certificados. Dentro de este archivo tenemos que poner el nombre del template svg que creamos antes -entre otros detalles menores-, y finalmente lo ejecutamos así:

./certg.py flisol2014.yaml

Ya está casi todo. Tenemos los 72 certificados, ahora lo que vamos a hacer es crear un script que lea del CSV los emails, nombres y, que adjunte según el nombre de archivo el certificado que corresponda. A esto lo hice del siguiente modo:

# -*- coding: utf-8 -*-
# Importamos libs
import smtplib
import mimetypes
import csv

# Importamos los modulos necesarios
from email.MIMEMultipart import MIMEMultipart
from email.Encoders import encode_base64
from email.mime.text import MIMEText
from email.MIMEBase import MIMEBase
from time import sleep
from string import Template

# Autenticamos
mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login("TUMAIL@mail.com","TUPASS")

sms = Template(
"""Estimad@ $nombre,

Le enviamos el certificado de asistencia por haber participado en el
Festival Latinoamericano de Instalación de Software Libre realizado en la
ciudad de Santa Fe.

Le pedimos disculpas por el retraso y principalmente le agradecemos por
apoyar el FLISOL!

Le informaremos sobre futuros eventos relacionados con el software y la cultura libre.

Atte.

Grupo de Usuarios de Linux del Litoral (LUGLi).
http://lugli.org.ar
http://flisolsantafe.org.ar
"""
)

inscriptos_file = 'flisol-2014-asistentes.csv'
col_ape = 0
col_nom = 1
col_mail = 2
col_cert = 3

with open(inscriptos_file, 'rb') as csvfile:
    lista_inscriptos = csv.reader(csvfile, delimiter=';', quotechar='|')
    for inscripto in lista_inscriptos:
        if inscripto[col_cert] == 'si':
            ape = inscripto[col_ape]
            nom = inscripto[col_nom]
            mailto = inscripto[col_mail]

            msg = MIMEMultipart()
            msg['From'] = "Emiliano López"
            msg['To'] = mailto
            msg['Subject'] = "Certificado FLISOL 2014"
            msg.attach(MIMEText(sms.substitute({ 'nombre': nom})))

            # adjunta certificado
            distinct = (nom+ape).lower().replace(" ", "")
            cert_fname = "certificate-{}.pdf".format(distinct)
            attachFile = MIMEBase('application', 'pdf')
            attachFile.set_payload(file(cert_fname).read())
            encode_base64(attachFile)
            attachFile.add_header('Content-Disposition', 'attachment', filename=cert_fname)
            msg.attach(attachFile)

            ## Enviamos
            mailServer.sendmail("TUMAIL@mail.com", mailto, msg.as_string())
            print mailto+"    "+cert_fname
            sleep(4)

# Cerramos conexion
mailServer.close()

Al cabo de unos minutos, nos empiezan a responder agradeciendo por el certificado recibido, y claro, no es para menos, fijate que lindura el certificado que les hice:
certbillAhora sí, lo que todos estábamos esperando, el tema que bautizó al primer torneo de la liga de partidos al diome:

Invitando al FLISOL 2014 Santa Fe desde Python

Esto tenía que salir rápido por lo que es muy probable que la solución implementada en esta publicación esté lejos de ser la mejor. Pero andaba con poco tiempo para indagar, con cansancio para mejorar y con dolor de cabeza como para renegar. Contundencia y pragmatismo era lo que necesitaba.

El tema es el siguiente, tengo en un archivo CSV información sobre los asistentes al FLISOL del año pasado, entre esos datos está su email, nombre y apellido. Es una lista de 137 inscriptos y quería invitarlos usando un método más automático que escribirle a uno por uno a manopla, entonces necesitaba lograr un email algo amigable, que incluya su nombre en el contenido, el mensaje y que además adjunte la hermosa imagen del FLISOL 2014.

Bien, qué hago? simple, parseo el archivo extrayendo email, nombre y apellido, agarro un mensaje de invitación que escribí en el mismo programa, reemplazo ciertas etiquetas con el nombre y apellido, adjunto ese texto y la imagen al email y mando usando mi misma cuenta de gmail.

Itero hasta llegar al final y listo el pollo. Así sería la cosa:

# -*- coding: utf-8 -*-
# Importamos libs
import smtplib
import mimetypes

# Importamos los modulos
from email.MIMEMultipart import MIMEMultipart
from email.MIMEImage import MIMEImage
from email.Encoders import encode_base64
from email.mime.text import MIMEText
# para esperar y para reemplazar el nombre y apellido
from time import sleep
from string import Template

# Adjuntamos Imagen
file = open("FLISOL2014SFe.png", "rb")
attach_image = MIMEImage(file.read())
attach_image.add_header('Content-Disposition', 'attachment; filename = "FLISOL2014SFe.png"')

# Autenticamos con gmail
mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login("ACA_EMAIL@gmail.com","ACA_TU_PASS")

# Texto del mail para reemplazar luego nombre y apellido
sms = Template("""Estimad@ $nombre $apellido,

Le enviamos una especial invitación a la nueva edición del
Festival Latinoamericano de Software Libre a realizarse en la
ciudad de Santa Fe.

Este año el evento se llevará a cabo en la Facultad de Ingeniería Química - UNL,
ubicada en Santiago del Estero 2829.

Inscripción y más información en http://flisolsantafe.org.ar .
Esperamos contar con su presencia!!!

Atte.
Grupo de Usuarios de Linux del Litoral (LUGLi).
http://lugli.org.ar""")

f = open("Flisol2013_participantes.csv",'r')
# Leemos todas las lineas
lines = f.readlines()
i = 0
for l in lines:
    i += 1
    dat = l.split(';')
    ape = dat[2]
    nom = dat[3]
    mailto = dat[4]
    # armamos el mail
    msg = MIMEMultipart()
    msg['From'] = "Emiliano López"
    msg['To'] = mailto
    msg['Subject'] = "FLISOL 2014 en Santa Fe"
    # reemplazo el nombre y apellido por lo leido
    msg.attach(MIMEText(sms.substitute({ 'nombre': nom, 'apellido': ape})))
    msg.attach(attach_image)

    # Enviamos
    mailServer.sendmail("TU_MAIL@gmail.com", mailto, msg.as_string())
    print str(i)+" "+mailto+"    ok"
    sleep(2)

#cierra el archivo
f.close()

# Cerramos conexion
mailServer.close()

Ahora me quedo sentado a esperar que se llene de personas la FIQ y desparramar software libre a troche y moche!

Ahora sí, lo que todos estábamos esperando:

La nerdiada del año, FLISOL 2014 en Santa Fe

Desde el 2005 a estos tiempos se realiza anualmente un evento del que vale la pena participar, es el Festival Latinoamericano de Instalación de Software Libre, FLISOL. En Santa Fe le venimos dando duro y parejo desde sus comienzos, aunque ya no recuerdo cuándo me sumé, venía participando del Grupo de Usuarios de Linux del Litoral (LUGLi) desde el 2000 y pico.

Se hace el cuarto sábado de abril y consiste en un evento libre y gratuito que fomenta la cultura y el software libre en todo Latinoamérica y alrededores en forma sincronizada. Las últimas dos que organizamos fueron muy concurridas, con picos máximos de ciento y tantos de personas -eso que nos llovió copiosamente en ambas- hecho bisagra para los flisoles Santafesinos, y según vi en las estadísticas, fuimos de los más masivos. Hasta antes del 2011 veníamos siendo apenas algunos tip@s más de los que la organizábamos. Acá una foto del 2013, realizado en la Escuela Provincial de Artes Visuales “Profesor Juan Mantovani”, donde un cluster de geeks están instalando a mansalva GNU/Linux, mientras el resto de la gente está escuchando las charlas:

instalando afull

Es un evento que me gusta y recomiendo, está plagado de gente con ganas de nerdiar un rato ayudando a otros que recién se inician. Es una de las formas de participar en el movimiento del Software Libre: o se escribe código y se lo publica bajo GPL, o se escriben manuales, o se lo traduce, o se lo instala, o se lo difunde, o todas a la vez. En el FLISOL hacemos fundamentalmente instalación y difusión, y desde que me sumé vengo oficiando (renegando) de instalador, una vez di una charla bastante mala sobre el proxy squid y ahora capaz doy una sobre Hardware Libre, veremos si logro armar algo indecente para mostrar.

Ser instalador es un embole -te perdés las charlas y el dueño de la máquina te mira con una desconfianza penetrante- pero a la vez es motivador saber que en cientos de ciudades de decenas de países latinoamericanos todos estamos haciendo lo mismo, esto sí que es la patria grande carajo!

Haciendo un cálculo al vuelo de pájaro, creo que en los flisoles o installfests voy liberando alrededor de 40 compus, es una gota de agua en el océano (bueeena), ya se, pero qué gota hermano! Yendo por más, este 26 de abril se viene otra edición en Santa Fe, esta vez la hacemos en la Facultad de Ingeniería Química de la UNL y, miren qué bellozor el afiche que tenemos:

afiche-flisol2014Pueden encontrar más info en http://flisolsantafe.org.ar . Va a haber charlas, café, compus, y GNU/Linux a diestra y siniestra, avívense muchachas/os, no se lo pierdan!

Ahora sí, lo que todos estábamos esperando, un poco de Luis Alberto:

Si no canto lo que siento
me voy a morir por dentro
he de gritarle a los vientos hasta reventar
aunque sólo quede tiempo en mi lugar

 

 

FLISOL 2011

Una vez más se realiza en Santa Fe una  nueva edición del Festival Latinoamericano de Instalación de Software Libre (FLISOL). Junto con el LugLi (Linux Users Group of Litoral) se ha organizado este evento,  que es considerado el más grande del mundo referido al Software Libre.

Nuevamente este año se ha superado la cantidad de sedes. En Argentina ya hay confirmadas 34 localidaes y además en 20 países con alrededor de 200 ciudades. Así es que en todo el continente latinoamericano se estará instalando Software Libre el mismo día!

Si dictarán charlas, talleres y por supuesto instalaciones.

Acercate, instalá libertad!

Lugar: CTA – Rivadavia 3185
Día y Hora: Sábado 9 de Abril de 10hs a 18hs.
Más info: http://www.flisolsantafe.com.ar
Registrate: http://es.amiando.com/flisol2011

 

Instalación GNU/Linux en todo latinoamérica!!!

El sabado 25 de abril, a partir de las 9.30hs vamos a estar en el laboratorio 1 y 2 de la FICH festejando la FLISOL. En todo latinoamérica, ese día, a esa hora se van a estar dictando charlas e instalando GNU/Linux gratuitamente en las PCs de aquellas personas que estén interesadas en conocer el fantástico mundo del software libre.

Al igual que en el 2008, en Santa Fe lo estamos organizando con el LUGli. En los enlaces siguientes pueden ver los paises donde se realizará la FLISOL y las ciudades de Argentina:
FLISOL en Latinoamérica y FLISOL en Argentina

Los esperamos !!!

FLISOL 2009 Santa Fe!


El sábado 25 de abril vamos a estar haciendo la FLISOL en Santa Fe.
Para aquellos que no saben de lo que estoy hablando, les cuento que es un día donde todo latinoamérica se pone de acuerdo para realizar instalaciones masivas de sistemas GNU/Linux.

Aquellos interesados en adentrarse en este fabuloso y atrapante mundo del software libre no tiene mas que llevar su PC para que entusiastas informáticos le instalen GNU/Linux y le expliquen como dar sus primeros pasos.

Siempre se ha generado un clima muy agradable, donde mates y biscochos mediante se dictan charlas de todos los niveles.

Este año, al igual que el anterior, la estamos organizando con el LUGLI, el grupo de usuarios de software libre del litoral y nuevamente se llevará a cabo en la FICH, muy probablemente en el Laboratorio 2.

Social Widgets powered by AB-WebLog.com.

Social Widgets powered by AB-WebLog.com.

Social Widgets powered by AB-WebLog.com.