=================================================================== RCS file: /ftp/pub/users/ronald/proyectos/rcs-gopher/RCS/rcs-gopher_gophernicus.scm,v retrieving revision 1.4 retrieving revision 1.6 diff -r1.4 -r1.6 0a1,6 > ;;; PENDIENTE > ;; - Funci??n para generar diffs a partir del nombre de un proyecto, de un archivo y dos revisiones. > ;; - Funci??n para consultar el mensaje de Log de una revisi??n de un archivo perteneciente a un proyecto. > ;; - Funci??n para generar la p??gina principal de un proyecto de rcs-gopher. > ;; - Funci??n para generar la p??gina principal de una colecci??n de proyectos de rcs-gopher. > 1a8 > (ice-9 ftw) 3a11,12 > (define *host* "sdf.org") > (define *puerto* "70") 12a22,24 > (define (error-en-archivo mensaje) > (simple-format #t "ERROR\n=====\n\n- ~A\n" mensaje)) > 17a30,33 > (define (host-y-puerto) > (simple-format #f "~A\t~A" *host* > *puerto*)) > 24,25c40,41 < (define (obtener-selector-de-revisi??n nombre-de-proyecto archivo) < (simple-format #f "~A~A?revs/~A/~A" --- > (define (obtener-selector-de-revisi??n nombre-de-proyecto archivo revisi??n) > (simple-format #f "~A~A?revs/~A/~A/~A" 29c45,61 < archivo)) --- > archivo > revisi??n)) > > (define (rcs-??ltima-revisi??n nombre-de-proyecto archivo) > (simple-format #t "0~A\t~A\t~A\n" > archivo > (obtener-selector-de-revisi??n nombre-de-proyecto > archivo > "ULT") > (host-y-puerto))) > > (define (obtener-selector-men??-secci??n secci??n nombre-de-proyecto) > (simple-format #f "~A~A?~A/~A" > *ruta-base-cgi-bin* > *nombre-del-script-de-rcs-gopher* > secci??n > nombre-de-proyecto)) 53c85 < (simple-format #t "~A~A\t~A/~A\tsdf.org\t70\n" --- > (simple-format #t "~A~A\t~A\tsdf.org\t70\n" 55,56c87 < (obtener-selector-de-revisi??n nombre archivo) < (obtener-n??mero-de-revisi??n l??nea))))) --- > (obtener-selector-de-revisi??n nombre archivo (obtener-n??mero-de-revisi??n l??nea)))))) 60,65c91,139 < (let ((puerto (open-pipe* OPEN_READ "co" (simple-format #f "-p~A" revisi??n) "proyectos/rcs-gopher/pruebas_rcs/RCS/hola.lisp,v")) < (l??nea "")) < (while ((lambda () < (set! l??nea (read-line puerto)) < (not (eof-object? l??nea)))) < (simple-format #t "~A\n" l??nea)))) --- > (if (and (member nombre *proyectos*) > (access? (obtener-ruta-de-archivo > nombre > archivo) > R_OK)) > (let ((puerto (open-pipe* OPEN_READ "co" (simple-format #f "-p~A" revisi??n) > (obtener-ruta-de-archivo nombre archivo))) > (l??nea "")) > (while ((lambda () > (set! l??nea (read-line puerto)) > (not (eof-object? l??nea)))) > (simple-format #t "~A\n" l??nea))) > (error-en-archivo "No existe este proyecto o archivo."))) > > (define (generar-entradas-comunes nombre) > (for-each (lambda (nombre selector) > (simple-format #t "1~A\t~A\t~A\n" > nombre > selector > (host-y-puerto))) > (list nombre "Revisiones" > "Diffs" "Logs") > (list (obtener-selector-men??-secci??n "inicio" nombre) > (obtener-selector-men??-secci??n "revs" nombre) > (obtener-selector-men??-secci??n "diffs" nombre) > (obtener-selector-men??-secci??n "logs" nombre)))) > > (define (generar-entradas-por-archivo nombre) > (let ((directorio-proyecto (simple-format #f "~A~A/RCS" > *directorio-base-de-proyectos* > nombre))) > (for-each (lambda (archivo) > (if (string-suffix? ",v" archivo) > (rcs-??ltima-revisi??n > nombre > (string-trim-right > archivo > (char-set #\, #\v))))) > (scandir directorio-proyecto)))) > > (define (rcs-men??-principal-proyecto nombre) > (if (and (member nombre *proyectos*) > (access? (obtener-ruta-de-archivo > nombre "") > R_OK)) > (begin > (generar-entradas-comunes nombre) > (generar-entradas-por-archivo nombre)) > (error-en-men??-gopher "No existe este proyecto o archivo."))) 67c141 < (rcs-ver-revisi??n "hola" "hola.lisp" "1.2") --- > (rcs-ver-revisi??n "rcs-gopher" "rcs-gopher_gophernicus.scm" "1.2") 68a143,144 > (generar-entradas-comunes "rcs-gopher") > (generar-entradas-por-archivo "rcs-gopher")