Last active
August 29, 2015 13:59
-
-
Save miltonlab/10467373 to your computer and use it in GitHub Desktop.
Diferentes listados de docentes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Solo cédulas | |
ids_ofertas = [int(o) for o in (raw_input('IDs de oferas: ').split())] | |
import pyutil | |
cedulas_docentes=session.query(Docente.cedula).join([HorarioSemana, Jornada, Paralelo]).join(OfertaAcademica).filter(OfertaAcademica.id.in_((ids_ofertas))).distinct().all() | |
f=open('/tmp/cedulas_docentes.csv', mode="wb") | |
w=pyutil.UnicodeWriter(f, encoding='ISO-8859-1', delimiter=';') | |
w.writerow(('Cedula',)) | |
w.writerows(cedulas_docentes) | |
f.close() | |
# Ejemplo Reporte rápido de datos de docentes | |
import pyutil | |
# Se pide ofertas por teclado | |
ids_ofertas = [int(o) for o in (raw_input('IDs de oferas: ').split())] | |
#Se generan datos de docentes que trabajan en mas de una area/carrera | |
docentes=session.query(Docente.cedula, Docente.apellidos, Docente.nombres, Docente.titulo, CarreraPrograma.nombre, Nivel.area_siglas, Docente.categoria_laboral, Docente.email_institucional or User.email_address).join([HorarioSemana, Jornada, Paralelo, Modulo, CarreraPrograma, Nivel]).join(OfertaAcademica).join(User).filter(OfertaAcademica.id.in_((ids_ofertas))).order_by(Nivel.area_siglas, CarreraPrograma.nombre, Docente.apellidos, Docente.nombres).distinct().all() | |
f=open('/tmp/docentes.csv', mode="wb") | |
w=pyutil.UnicodeWriter(f, encoding='ISO-8859-1', delimiter=';') | |
w.writerow(('Cedula', 'Apellidos', 'Nombres', 'Titulo', 'Carrera', 'Area','Relacion de Dependencia', 'Email')) | |
w.writerows(docentes) | |
f.close() | |
# Consulta de objetos docentes en ofertas academicas dadas | |
# Se pide ofertas por teclado | |
ids_ofertas = [int(o) for o in (raw_input('IDs de oferas: ').split())] | |
docentes = Docente.query.join([HorarioSemana, Jornada, Paralelo, Modulo,OfertaAcademica]).filter(OfertaAcademica.id.in_(ids_ofertas)).distinct().all() | |
# Formateo para carga de usuarios docentes en Wordpress | |
#Campos del plugin: user_login user_pass user_email user_url user_nicename display_name user_registered first_name last_name nickname description rich_editing comment_shortcuts admin_color use_ssl show_admin_bar_front show_admin_bar_admin role | |
import pyutil, csv | |
f=open('/tmp/docentes_wordpress.csv', mode="wb") | |
w=pyutil.UnicodeWriter(f, encoding='ISO-8859-1', delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL) | |
#se necesita para la carga el encabezado | |
w.writerow(("first_name","last_name","display_name","user_login","user_email","user_pass","user_nicename","Address Line 1","city","state","Zip/Postal Code","role")) | |
w.writerows([(d.nombres.title(), d.apellidos.title(), d.nombres.title() + ' ' + d.apellidos.title(), d.cedula, d.email_institucional or d.usuario.email_address or '', d.usuario.user_name, d.nombres.lower(), 'UNL', 'Loja', 'Loja', 'EC110150','author') for d in docentes]) | |
f.close() | |
# Se necesita encerrar en doble comillas dobles los campos ? | |
# Formateo para craga de usuarios docentes en Alfreso | |
import pyutil, csv | |
fal=open('/tmp/docentes_alfresco.csv', mode="wb") | |
wal=pyutil.UnicodeWriter(fal, encoding='UTF-8', delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL) | |
wal.writerow(("UserName","FirstName","LastName","E-mail Address","","Password","Company","Job Title","Location","Teleplone","Mobile","Skype","IM","Google User Name")) | |
#Requiere correo | |
wal.writerows([(d.usuario.user_name, d.nombres.title(), d.apellidos.title(), d.email_institucional or d.usuario.email_address or '%s@unl.edu.ec' % d.cedula, '', d.cedula, 'UNL', 'Docente', 'Loja') for d in docentes]) | |
fal.close() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment