package dynamic.people;

import dynamic.common.ContentGrabber;
import dynamic.common.FileGrabber;
import dynamic.common.HtmlStripper;
import dynamic.common.OutputFileNamer;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class PeopleOutputChecker {

    public static void CompareToWebsite(String fname, String target_url) throws IOException {

        int split = 0;

        do {
            String output_file_name = OutputFileNamer.GetOutputFilename(fname, split);
            System.out.print(output_file_name + ": ");
            String output = FileGrabber.GrabFile(output_file_name);
            String website = ContentGrabber.GetWebContent(target_url, split);

            String output_stripped = HtmlStripper.StripHtml(output);
            String website_stripped = HtmlStripper.StripHtml(website);

            String[] fname_parts = output_file_name.split("\\.");
            String output_file_name_web = fname_parts[0] + ".web." + fname_parts[1];
            String output_file_name_stripped = fname_parts[0] + ".stripped." + fname_parts[1];
            String output_file_name_stripped_web = fname_parts[0] + ".stripped.web." + fname_parts[1];
//            String output_file_name_stripped_web_text = fname_parts[0] + ".stripped.web.txt";
//            String output_file_name_stripped_text = fname_parts[0] + ".stripped.txt";


            if (!output_stripped.equals(website_stripped)) {
                System.out.println("differences identified");
                BufferedWriter f = new BufferedWriter(new FileWriter(output_file_name_web));
                f.write(website);
                f.close();
                f = new BufferedWriter(new FileWriter(output_file_name));
                f.write(output);
                f.close();
                f = new BufferedWriter(new FileWriter(output_file_name_stripped));
                f.write(output_stripped);
                f.close();
//                f = new BufferedWriter(new FileWriter(output_file_name_stripped_text));
//                f.write(output_stripped);
//                f.close();
                f = new BufferedWriter(new FileWriter(output_file_name_stripped_web));
                f.write(website_stripped);
                f.close();
//                f = new BufferedWriter(new FileWriter(output_file_name_stripped_web_text));
//                f.write(website_stripped);
//                f.close();

            } else {
                System.out.println("OK");
                new File(output_file_name).delete();
                new File(output_file_name_web).delete();
                new File(output_file_name_stripped).delete();
//                new File(output_file_name_stripped_text).delete();
                new File(output_file_name_stripped_web).delete();
//                new File(output_file_name_stripped_web_text).delete();
            }
            split++;

        } while (new File(OutputFileNamer.GetOutputFilename(fname, split)).exists());

    }


}

