/*                                                                          *
   $VER: LM_ERG2xxx.REXX 1.07 (10.08.97) © 1997 Christian T. Steigies
 * Convert LigaManager Ergebnisse output to HTML,LaTeX                      *
 *                                                                          *
 * Usage: RX LM_ERG2HTML <infile>                                           *
 * Usage: RX LM_ERG2LaTeX <infile>                                          *
 *                                                                          */
/*+ "Hauptprogramm" */
/*+ "version, messages" */
ver    = "1.07"
date   = "10.08.97"
date2k = "10.08.1997"
copy   = "© 1997 Christian T. Steigies"
DEBUG  = 0
OUTPUT = 0 /* 1=HTML, 2=LaTeX */

ECHO "LigaManager output converter "ver" ("date")" copy
ECHO "Freeware, NO commercial usage ;-)"
ECHO
ECHO "This program comes without ANY WARRANTY, use at your own risk!"
ECHO
/*- */
/*+ "output definition" */
PARSE source cmdline
IF LEFT(UPPER(WORD(cmdline,3)),11)="LM_ERG2HTML" THEN DO
	prg     = "LM_ERG2HTML"
	outfile = "ram:ERG.html"
	a       = "<TR>"
	x       = "<TD>"
	xr      = "<TD ALIGN=""RIGHT"">"
	y       = "</TD>"
	z       = "</TD></TR>"
	T1      = "-"
	T2      = ":"
	blank   = "&#160;"
	OUTPUT  = 1
	ECHO "Converting to HTML"
END
ELSE IF LEFT(UPPER(WORD(cmdline,3)),12)="LM_ERG2LATEX" THEN DO
	prg     = "LM_ERG2LaTeX"
	outfile = "ram:ERG.tex"
	a       = ""
	x       = ""
	y       = " & "
	z       = " \\"
	T1      = "-"
	T2      = ":"
	blank   = ""
	OUTPUT  = 2
	ECHO "Converting to LaTeX"
END
ELSE DO
	ECHO "Don't rename this program! Valid Names are:"
	ECHO " LM_ERG2HTML.REXX    for HTML output"
	ECHO " LM_ERG2LaTeX.REXX   for LaTeX output"
	EXIT
END
/*- */
/*+ "error checking" */
IF ARG() ~= 1 THEN CALL usage(prg)
IF EXISTS( ARG(1) ) ~= 1 THEN DO
	ECHO "infile not found!"
	ECHO
	CALL usage(prg)
END

OPEN(in,ARG(1),r)
OPEN(out,outfile,w)

titel = READLN(in)

nonascii = X2C('1B')||X2C('5B')
IF INDEX(titel,nonascii,3) > 0 THEN DO
	ECHO "this is not an ASCII input file!"
	ECHO "I don't know how to handle this (yet...)"
	ECHO "Did you disable ""Steuerzeichen"" in options?"
	ECHO
	CALL usage(prg)
END
/*- */
/*+ "parsing" */
/* ECHO titel */
spieltag = INDEX(titel," Spieltag ")
IF (spieltag==0) THEN DO
	ECHO "infile corrupt!"
	CALL usage(prg)
END
/*- */
/*+ "Output Header" */
SELECT
	WHEN OUTPUT=1 THEN DO
/*+ "HTML" */
		WRITELN(out, "<!DOCTYPE HTMLPUBLIC ""-//IETF//DTD HTML 3.2//EN//"">")
		WRITELN(out, "<!-- created with: LigaManager2HTML "ver" by CTS -->")
		WRITELN(out, "<HTML><HEAD><TITLE>Ergebnisse created with LM2HTML "ver" by CTS</TITLE></HEAD>")
		WRITELN(out, "<BODY>")
		WRITELN(out, "<CENTER>")
		WRITELN(out, "<TABLE BORDER=""1"" CELLPADDING=""5"" CELLSPACING=""0""WIDTH=""90%"">")
/*                WRITELN(out, "<TR><TH ALIGN=""LEFT"" COLSPAN=""7"">"STRIP(titel)"</TH></TR>") */
		WRITELN(out, "<TR><TD ALIGN=""LEFT"" COLSPAN=""7""><B>"STRIP(titel)"</B></TD></TR>")
/*- */
	END
	WHEN OUTPUT=2 THEN DO
/*+ "LaTeX" */
		WRITELN(out, "% created with: LigaManager2LaTeX "ver" by CTS")
		WRITELN(out, "\documentclass{article}")
		WRITELN(out, "\usepackage{german}")
		WRITELN(out, "\usepackage[latin1]{inputenc}")
		WRITELN(out, "\begin{document}")
		WRITELN(out, "\begin{tabular}{llclrcr}")
		WRITELN(out, ""STRIP(titel)"\\")
		WRITELN(out, "\hline")
/*- */
	END
	OTHERWISE EXIT 10 /* should be unreachable, but who knows... */
	END
/*- */
/*+ "main loop" */
zeile1 = READLN(in)
heim   = INDEX(zeile1,"  ")
ausw   = INDEX(zeile1," - ")
len = ausw-heim-2
heim  = heim + 2
ausw  = ausw + 3
datum = STRIP(LEFT(zeile1,heim-3))
IF ( INDEX(datum,"(")==0 & INDEX(datum,".")==0 ) THEN DO
	ECHO "No Datum in infile! This is too boring to convert."
	ECHO "exiting..."
	EXIT
/* this would DO the trick, but remove datum...
	heim = 1
	len  = ausw - heim - 2
*/
END
team1 = STRIP(SUBSTR(zeile1,heim,len))
team2 = STRIP(SUBSTR(zeile1,ausw,len))
res   = SUBSTR(zeile1,ausw+len)
trenn = INDEX(res,":")
res1  = STRIP(LEFT(res,trenn-1))
IF res1 == "" THEN res1 = blank
res2  = STRIP(SUBSTR(res,trenn+1))
IF res2 == "" THEN res2 = blank
IF DEBUG = 1 THEN DO
	ECHO a||x||datum||y||x||team1||y||x||T1||y||x||team2||y
	ECHO x||res1||y||x||T2||y||x||res2||z
END
WRITELN(out, a||x||datum||y||x||team1||y||x||T1||y||x||team2||y)
WRITELN(out, x||res1||y||x||T2||y||x||res2||z)
DO WHILE ~ (EOF(in) & zeile=="")
	zeile = READLN(in)
	IF zeile == "" THEN BREAK
	datum = STRIP(LEFT(zeile,heim-3))
	IF datum == "" THEN datum =blank
	team1 = STRIP(SUBSTR(zeile,heim,len))
	team2 = STRIP(SUBSTR(zeile,ausw,len))
	res   = SUBSTR(zeile,ausw+len)
	trenn = INDEX(res,":")
	res1  = STRIP(LEFT(res,trenn-1))
	IF res1 == "" THEN res1 = blank
	res2  = STRIP(SUBSTR(res,trenn+1))
	IF res2 == "" THEN res2 = blank
	IF DEBUG = 1 THEN DO
		ECHO a||x||datum||y||x||team1||y||x||T1||y||x||team2||y
		ECHO x||res1||y||x||T2||y||x||res2||z
	END
	WRITELN(out, a||x||datum||y||x||team1||y||x||T1||y||x||team2||y)
	WRITELN(out, x||res1||y||x||T2||y||x||res2||z)
END
/*- */
/*+ "Output Footer" */
SELECT
	WHEN OUTPUT=1 THEN DO
/*+ "HTML" */
		WRITELN(out, "</TABLE>")
		WRITELN(out, "</CENTER>")
		WRITELN(out, "</BODY>")
		WRITELN(out, "</HTML>")
/*- */
	END
	WHEN OUTPUT=2 THEN DO
/*+ "LaTeX" */
		WRITELN(out, "\end{tabular}")
		WRITELN(out, "\end{document}")
/*- */
	END
	OTHERWISE EXIT 10 /* should be unreachable, but who knows... */
	END
/*- */
CLOSE(out)
CLOSE(in)
ECHO "Ready."
EXIT
/*- */
/*+ "Unterroutinen"*/
usage:
ARG prg
	SAY "Usage: RX" prg "<infile>"
	ECHO
	ECHO "Ready."
	EXIT

/*- */

