/*
 * +------------------------------------------------------+
 * | html2fc - convertire dati all'uso con FioriCadenti   |
 * +------------------------------------------------------+
 * |                                                      |
 * | Copyright 2004 - Flavio "Iron Bishop" Pastore        |
 * |                  http://ironbishop.altervista.org    |
 * |                                                      |
 * | Questo programma e` software libero distribuito      |
 * | secondo le condizioni della GNU GPL versione 2.      |
 * |                                                      |
 * +------------------------------------------------------+
 * | Ultimo aggiornamento: 12 luglio 2004                 |
 * +------------------------------------------------------+
 *
 * Utilizzo: java comuni <Capoluogo>
 *
 * Il programma  necessita di  una sottocartella "comuni"
 * dove salvare tutti i file "<nomecomune>.txt" e il file 
 * "lista.txt" con l'elenco dei nomi. 
 *
 */
 
import java.io.*;
import java.util.*;
import java.util.regex.*;

class html2fc {

	static String LINESEP = System.getProperty("line.separator");
	static String FILESEP = System.getProperty("file.separator");
	
	public static void main(String args[]) {

		System.out.println("html2fc - convertire dati all'uso con FioriCadenti");
		System.out.println("\nQuesto programma e` software libero sotto licenza GNU GPL.\n");
		
		if (args.length == 2 && args[0].equals("comuni")) comuni(args[1]);
		else {
	System.out.println("Utilizzo:");
	System.out.println(" * comuni <Capoluogo>\t(converte il file \"comuniCapoluogo.txt\")");
			
		}
		
	}


	public static void comuni(String Capoluogo) {
		
		String buffer, voce, lista;
		buffer = ""; voce = ""; lista = "";
		
		try {
			// legge il file
			FileReader fr = new FileReader("comuni" + Capoluogo + ".txt");
			BufferedReader br = new BufferedReader(fr);
			br.readLine(); // salta il primo stub
			
			while ((buffer = br.readLine()) != null) {
				if (!buffer.equals("{{stub}}")) voce += buffer + LINESEP;
				else {
					String comune = voce.substring(voce.indexOf("'''") + 3,
									voce.lastIndexOf("'''"));

					voce = Spell.check(voce);
					// scrive il file
					FileWriter fw = new FileWriter("comuni" + FILESEP + comune + ".txt");
					fw.write("{{stub}}" + LINESEP + voce);
					fw.close();
					
					System.out.println("Comune di " + comune);
					
					voce = "";
					
					lista += comune + LINESEP;
				}
			}

			fr.close();
			
			// scrive la lista dei comuni
			FileWriter fw = new FileWriter("comuni" + FILESEP + "lista.txt");
			fw.write(lista);
			fw.close();

			
		} catch (Throwable t) { System.out.println("" + t); }

	}

}