#!/usr/bin/perl -w

use strict;
use DBI();

#### chemins
my $PATH_SCF	=	"/tempo/scfrch";


my $dsn = 'DBI:mysql:SCFrchDB:localhost';
my $db_user_name = 'ked';
my $db_password = '';

my $dbh = DBI->connect($dsn, $db_user_name, $db_password) or die "Echec de la connexion !\n";

&insert_frames($dbh);
&insert_examples($dbh);
&insert_verbs($dbh);

$dbh -> disconnect;


sub insert_frames {
	## lire le fichier contenant les infos sur les cadres et remplir la BdD
	my ($dbh) = @_;
	open FRAMES, "<", "$PATH_SCF/outputs/Fout/subcat_frames.scfF" or die "Cannot open frames !\n";
	my $sth = $dbh->prepare("INSERT INTO SUBCATFRAMES (SCF_ID, SCF_PATTERN) VALUES (?, ?);");
	while (<FRAMES>) {
		chomp;
		my ($id, $frame) = split /\t/, $_;
		$sth->execute($id, "$frame");
		# print "Subcat frame $frame ($id) added to table SUBCATFRAMES !\n";
	}
	close FRAMES;
}

sub insert_examples {
	my ($dbh) = @_;
	open EXAMPLES, "<", "$PATH_SCF/outputs/Fout/examples.scfF" or die "Cannot open examples !\n";
	my $sth = $dbh->prepare("INSERT INTO EXAMPLES (EX_ID, EX_TXT, EX_SYN) VALUES (?, ?, ?);");
	$sth->execute("0", "", ""); # exemples vides
	while (<EXAMPLES>) {
		chomp;
		my ($id, $txt, $syntex) = split /\=\=\=/, $_;
		### print "$id<TXT>$txt\n\n\n\n<SYNTEX>$syntex\n\n";
		$sth->execute($id, $txt, $syntex);
	}
	close EXAMPLES;
}

sub insert_verbs {
	my ($dbh) = @_;
	open VERBS, "<", "$PATH_SCF/outputs/Fout/scf_by_verbs.scfF" or die "Cannot open scf_by_verbs.scfF !\n";
	my $sth = $dbh->prepare("INSERT INTO SCFVERB (LEMM, CLASS, RELFREQ, FREQCNT, EX1_ID, EX2_ID, EX3_ID, EX4_ID, EX5_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);");
	while (<VERBS>) {
		chomp;
		if (/^TARGET/) {
			my ($lemm, $class, $relfreq, $freqcnt, $examples) = split /\t/, $_;
			$lemm =~ s/^TARGET\|//;
			$class =~ s/^CLASS\|//;
			$relfreq =~ s/^RELFREQ\|//;
			$freqcnt =~ s/^FREQCNT\|//;
			$examples =~ s/^EXAMPLES\|//;
			my @ex = split /\:/, $examples;
			for (my $i=0; $i<5; $i++) {
				if (! defined($ex[$i])) {
					$ex[$i] = "0"; # moins de 5 exemples
				}
			}
			$sth->execute("$lemm", $class, $relfreq, $freqcnt, $ex[0], $ex[1], $ex[2], $ex[3], $ex[4]);
		}
	}
	close VERBS;
}
