Skip to content

Instantly share code, notes, and snippets.

@miltonlab
Last active August 29, 2015 13:59
Show Gist options
  • Save miltonlab/10467373 to your computer and use it in GitHub Desktop.
Save miltonlab/10467373 to your computer and use it in GitHub Desktop.
Diferentes listados de docentes
# 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