## # Código fuente LuCAS V3 # Copyright (C) 1999 Hispalinux / Juan J. Amor / Ismael Olea # Programa bajo la proteccion de GPL 2.0 ## # $Id: presentaciones.wml,v 1.9 2004/02/29 22:06:44 olea Exp $ ## #use wml::std::tags #use wml::fmt::isolatin #use wml::fmt::url #include 'Icabecera.wml' autor="Hispalinux" titulo="Congresos y conferencias" resumen="Catálogo de presentaciones y conferencias relacionadas con Linux y el software libre" htmldir="" icondir="../icons/" keywords="conferencias, presentaciones, transparencias, congresos, charlas" #include 'Imenu.wml' htmldir="" icondir="../icons/"
TLDP-ES - Presentaciones y Conferencias

Aquí encontrará el catálogo de presentaciones y transparencias recopilados por TLDP-ES/Hispalinux ordenados por eventos. En general se ha procurado ofrecerlos en formatos abiertos. Cuando esto no ha sido posible, se ha procurado el mayor abanico de formatos posible.

Si tienes problemas o dudas en cuanto al manejo y visualización de los formatos de los ficheros publicados, consulta la FAQ de TLDP-ES.


<: # # Directorio de las presentaciones $DIR_PRESEN="../../Presentaciones"; # Directorio a efectos de pagina generada $DIR_P="../Presentaciones"; # # # Funcion: trata_evento(nombre_directorio) # sub trata_evento() { my $DIR_EVENTO=shift; my $linea; my $cont = 0; my $estado = 3; # estados de lectura: 0 (inicial), 1 (descripcion), # 2 (URLAutor), 3 (nombre del evento) open (DESC,"$DIR_PRESEN/$DIR_EVENTO/.descripcion") || die("No existe $DIR_PRESEN/$DIR_EVENTO/.descripcion"); LECTURA: while ($linea=) { # Saltamos las lineas vacias o comentadas if ( ($linea =~ /^#/ ) || ($linea eq "\n") ) { next LECTURA; } # Quitamos el fin de linea que no nos interesa chop($linea); # En el estado nombre evento aparecerá el nombre del mismo if ( ($linea =~ /^NOM-EVNT/) && ($estado == 3) ) { $NOMEVT = substr($linea,9); # Ahora es el momento de imprimir la cabecera de la tabla print <

$NOMEVT

FINCAB $estado = 0; # pasamos al estado inicial next LECTURA; } # En el estado inicial empieza una conferencia if ( ($linea =~ /^INI-CONF/) && ($estado == 0) ) { $CONFE = substr($linea,9); $estado = 1; # Pasamos al estado de lectura de descripcion next LECTURA; } # Al detectar fin de descripcion ... if ( ($linea =~ /^FIN-PARRAFO/) && ($estado == 1) ) { $estado = 2; # Pasamos al estado de lectura de URL de Autor next LECTURA; } # Si el estado es URL, la linea siguiente es la URL del autor if ($estado == 2) { $URLAUTOR = $linea; # Ahora leemos los ficheros opendir (DIR2, "$DIR_PRESEN/$DIR_EVENTO/$CONFE") || die("No existe $DIR_PRESEN/$DIR_EVENTO/$CONFE"); while ($fich = readdir(DIR2)) { if ( $fich ne '..' && $fich ne '.' && $fich ne '.DAV' ) { push @FICHEROS,$fich } } # Procedemos a presentar la fila de la tabla de salida # Primero la cabecera de la linea de la tabla print "\n\n"; # Columna 2: La descripción print "\n"; # Columna 3: El autor print "\n"; # Terminamos la fila print "\n"; splice(@FICHEROS); splice(@DESCRIPCION); # Vaciamos los arrays usados $estado = 0; # Y volvemos al estado inicial next LECTURA; } # Si el estado es de descripcion, acumulamos la linea del parrafo if ($estado == 1) { push @DESCRIPCION,$linea; next LECTURA; } # Llegar aqui es un error die ("Error del formato: $DIR_PRESEN/$DIR_EVENTO/.descripcion"); } close (DESC); # Cerramos la tabla print "
Ficheros Descripción Autor
\n"; # Columna 1: URLs a los distintos formatos de la conferencia foreach (@FICHEROS) { print "$_
\n"; } print "
\n"; foreach (@DESCRIPCION) { print "$_\n"; } print "\n"; print "$URLAUTOR\n"; print "
\n\n"; } # Bucle principal: # Recorre todos los eventos (cada evento es un directorio) # opendir (DIR, $DIR_PRESEN); @dirleido = readdir(DIR); closedir (DIR); @eventos = sort {$b cmp $a} @dirleido; foreach(@eventos) { if ( $_ ne '..' && $_ ne '.' && $_ ne '.DAV' ) { &trata_evento($_); } } :> #include 'Ipie.wml' htmldir="" icondir="../icons/" .