#!/usr/bin/env python # Este programa se llama web.py®. Genera un árbol de ficheros a partir de otro, en el que # se han copiado todos los ficheros, a los ficheros .html se les ha añadido los # contenidos de los ficheros de cabecera (cab.txt) y pie (pie.txt) # © Eduardo Ferro Aldama (SICE) 2001. # Este programa se distribuye segun la licencia GPL v.2 o posteriores y no tiene # garantias de ningun tipo. Puede obtener una copia de la licencia GPL o ponerse en # contacto con la Free Software Foundation en http://ww.gnu.org # $Author $ # $Date: 2001-04-02 19:02:51 +0200 (lun, 02 abr 2001) $ # $Log$ # Revision 1.1 2001/04/02 17:02:51 eferro # Añadidos los fuentes que tenemos en la seccion de programacion # # Revision 1.2 2001/04/02 12:34:51 eferro # Incluida cabecera de GPL # import os,sys,glob # Cadenas estaticas informativas o de configuracion strNombre = 'web.py' strAutor = 'Eduardo Ferro' strCopyright = 'Eduardo Ferro Aldama (SICE) 2001 ©' strLicencia = 'GPL v2.0 o posterior' strVersion = '$Revision: 92 $' strDescripcion = '''Genera un árbol de ficheros a partir de otro, en el que se han copiado todos los ficheros, a los ficheros .html se les ha añadido los contenidos de los ficheros de cabecera (cab.txt) y pie (pie.txt)''' #--------------------------------------------------------------- def procesaFichero(strDir,strDirDst,strNomFich): ''' Procesa un fichero .html añadiendole la cabecera y pie correpondientes Parametros: - strDir Directorio (completo) usado para leer cabecera y pie - strDirDst Directorio (completo) donde se creara el fichero destino - strNomfich fichero a procesar ''' print 'procesaFichero %s %s %s' % (strDir,strDirDst,strNomFich) # Leemos la cabecera y el pie lstCab = [] lstPie = [] print try: fichCab = open(strDir + 'cab.txt',"r") lstCab = fichCab.readlines() fichCab.close() except: print 'No se puede leer %s' % strDir + 'cab.txt' pass try: fichPie = open(strDir + 'pie.txt',"r") lstPie = fichPie.readlines() fichPie.close() except: print 'No se puede leer %s' % strDir + 'pie.txt' pass # Leemos el fichero fichContenidos = open(strDir + strNomFich,'r') lstContenido = fichContenidos.readlines() fichContenidos.close() # creamos el fichero destino conteniendo # la cabecera, el contenido y el pie fichDst = open(strDirDst + strNomFich,"w") lstDst = [] lstDst.extend(lstCab) lstDst.extend(lstContenido) lstDst.extend(lstPie) fichDst.writelines(lstDst) fichDst.close() #--------------------------------------------------------------- #--------------------------------------------------------------- def procesaDirectorio(strSrc, strDst): # creamos el directorio destino try: os.mkdir(strDst) except: print 'Error creando el directorio %s' % strDst pass # Procesamos los ficheros y directorios for fich in os.listdir(strSrc): if fich not in ('CVS','cab.txt','pie.txt'): if os.path.isdir(strSrc + fich): procesaDirectorio(strSrc + fich + '/',strDst + fich + '/') else: print 'procesando fichero %s' % fich # Es fichero # Miramos si es html para procesarlo (nombre, ext) = os.path.splitext(fich) if ext != '.html': # Lo copiamos tal cual... # a lo guarro strCmd = 'cp -f ' + strSrc + fich + ' ' + strDst + fich print strCmd os.system(strCmd) else: procesaFichero(strSrc,strDst,fich) #--------------------------------------------------------------- #--------------------------------------------------------------- def uso(): print '' print 'Uso: ' + sys.argv[0] + ' Directoriofuente DirectorioDestino' #--------------------------------------------------------------- #--------------------------------------------------------------- def copyright(): print strNombre + ' ' + strVersion print strCopyright print 'Licencia: ' + strLicencia #--------------------------------------------------------------- #--------------------------------------------------------------- copyright() try: strSrc = sys.argv[1] strDst = sys.argv[2] except: uso() sys.exit() print strSrc print strDst procesaDirectorio(strSrc,strDst) #for strNomFich in glob.glob('*.html'): # procesarFichero(strNomFich,strDirectorioDst + strNomFich)