=================================================================== RCS file: /ftp/pub/users/ronald/proyectos/rcs-gopher/RCS/rcs-gopher_gophernicus.scm,v retrieving revision 1.2 retrieving revision 1.5 diff -r1.2 -r1.5 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. > 5,6c11,48 < (define *directorio-base-de-proyectos* "/ftp/pub/users/ronald/proyectos-rcs/") < (define *ruta-base-cgi-bin* "/usrs/ronald/cgi-bin/") --- > ;(define *directorio-base-de-proyectos* "/ftp/pub/users/ronald/proyectos-rcs/") > (define *directorio-base-de-proyectos* "proyectos/") > (define *ruta-base-cgi-bin* "/users/ronald/cgi-bin/") > (define *nombre-del-script-de-rcs-gopher* "rcs-gopher.sh") > > (define (error-en-men??-gopher mensaje) > (simple-format #t "3~A\tERROR\tERROR\t70\n" mensaje)) > > (define (error-en-archivo mensaje) > (simple-format #t "ERROR\n=====\n\n- ~A\n" mensaje)) > > (define (destabulizar cadena) > (string-join > (string-split cadena #\Tab) > " ")) > > (define (obtener-ruta-de-archivo nombre-de-proyecto archivo) > (simple-format #f "~A~A/RCS/~A,v" > *directorio-base-de-proyectos* > nombre-de-proyecto > archivo)) > > (define (obtener-selector-de-revisi??n nombre-de-proyecto archivo) > (simple-format #f "~A~A?revs/~A/~A" > *ruta-base-cgi-bin* > *nombre-del-script-de-rcs-gopher* > nombre-de-proyecto > archivo)) > > (define (obtener-n??mero-de-revisi??n texto) > ;(list-ref (string-split (list-ref (string-split l??nea #\Tab) 0) #\Space) 1))))) > (list-ref > (string-split > (list-ref > (string-split texto #\Tab) > 0) > #\Space) > 1)) 8,19c50,66 < (define (rcs-revisiones nombre) < (if (member nombre *proyectos*) < (let ((puerto (open-pipe* OPEN_READ "rlog" "proyectos/rcs-gopher/pruebas_rcs/RCS/hola.lisp,v")) < (l??nea "")) < (while ((lambda () < (set! l??nea (read-line puerto)) < (not (eof-object? l??nea)))) < (if (string-prefix? "revision" l??nea) < (simple-format #t "~A~A\t~A/~A\tsdf.org\t70\n" < "0" (string-capitalize l??nea) < "/users/ronald/cgi-bin/rcs-gopher?revs" < (list-ref (string-split (list-ref (string-split l??nea #\Tab) 0) #\Space) 1)))))) --- > (define (rcs-revisiones nombre archivo) > (if (and (member nombre *proyectos*) > (access? (obtener-ruta-de-archivo > nombre > archivo) > R_OK)) > (let ((puerto (open-pipe* OPEN_READ "rlog" (obtener-ruta-de-archivo nombre archivo))) > (l??nea "")) > (while ((lambda () > (set! l??nea (read-line puerto)) > (not (eof-object? l??nea)))) > (if (string-prefix? "revision" l??nea) > (simple-format #t "~A~A\t~A/~A\tsdf.org\t70\n" > "0" (string-titlecase (destabulizar l??nea)) > (obtener-selector-de-revisi??n nombre archivo) > (obtener-n??mero-de-revisi??n l??nea))))) > (error-en-men??-gopher "No existe este proyecto o archivo."))) 22,27c69,81 < (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."))) 29c83,84 < (rcs-ver-revisi??n "hola" "hola.lisp" "1.2") --- > (rcs-ver-revisi??n "rcs-gopher" "rcs-gopher_gophernicus.scm" "1.2") > (rcs-revisiones "rcs-gopher" "rcs-gopher_gophernicus.scm")