package arbo;
use utf8; 
	#permet d'assurer que les caractères codés en dur sont bien interprétés (cf lignes 20 à 30)

sub ParcoursArboCordial {
   	my $path = shift(@_);
   	opendir(DIR, $path) or die "can't open $path: $!\n";
	my @files = readdir(DIR);
	closedir(DIR);
    	foreach my $file (@files) {	
	    	next if $file =~ /^\.\.?$/;
		        $file = $path."/".$file;
    		if (-d $file) {
		        &ParcoursArboCordial($file);	#recurse!
	    	}
		    if (-f $file) {		
	       		open(FILEINPUT,"$file");
	      		while ($ligne = <FILEINPUT>){	
	            	if ($ligne=~/<description>(.*)<\/description>/)  {
                        my $desc=$1;
	        	        $desc=~ s/&#38;#39;/'/g;
	        	        $desc=~ s/&#38;#34;/"/g;
	        	        $desc=~ s/&#234;/ê/g;
	        	        $desc=~ s/Ã©/é/g;
	        	        $desc=~ s/Ãª/ê/g;
				$desc=~ s/àª/ê/g;
	        	        $desc=~ s/Ã§/ç/g;
	        	        $desc=~ s/Ãš/è/g;
	        	        $desc=~ s/Ã/à/g;
	        	        $desc=~ s/àŽ/ô/g;
	        	        $desc=~ s/&#233;/é/g;
 				$texte.="$desc\n";
	       	        
				    }
		    	}
            }
  
    }
	if (!open (FILEOUT,">:encoding(latin1)",'texte.txt')) { die "Pb à la création du fichier pour Cordial : texte.txt"};	
	#l'utilisation de 'encoding' permet d'écrire le fichier en latin1 (pour Treetagger)
	print FILEOUT $texte;	
	close FILEOUT;
}
1;	


#On garde trace du parcours à l'aide de balises 'fichier', 'nom', et 'article', car une option de TreeTagger permet de laisser ces informations dans le fichier qui lui est passé sans difficulté.
sub ParcoursArboTT {
   	my $path = shift(@_);
   	opendir(DIR, $path) or die "can't open $path: $!\n";
	my @files = readdir(DIR);
	closedir(DIR);
    	foreach my $file (@files) {	
	    	next if $file =~ /^\.\.?$/;
		        $file = $path."/".$file;
    		if (-d $file) {
		        &ParcoursArboTT($file);	#recurse!
	    	}
		    if (-f $file) {		
			    $texte.="<fichier><nom>"."$file"."<\/nom>\n";
	       		open(FILEINPUT,"$file");
	      		while ($ligne = <FILEINPUT>){	
	            	if ($ligne=~/<description>(.*)<\/description>/)  {
                        my $desc=$1;
	        	        $desc=~ s/&#38;#39;/'/g;
	        	        $desc=~ s/&#38;#34;/"/g;
	        	        $desc=~ s/&#234;/ê/g;
	        	        $desc=~ s/Ã©/é/g;
	        	        $desc=~ s/Ãª/ê/g;
				$desc=~ s/àª/ê/g;
	        	        $desc=~ s/Ã§/ç/g;
	        	        $desc=~ s/Ãš/è/g;
	        	        $desc=~ s/Ã/à/g;
	        	        $desc=~ s/àŽ/ô/g;
	        	        $desc=~ s/&#233;/é/g;
		                $desc=~ s/([^A-Za-zéèàëêâùûïçöôîÉÈÀÊÔÂÎÏËÙÇ\'])/\n$1\n/g;
				$desc=~ s/\'/\'\n/g;
 
	       	        	$texte.="<article>"."\n".$desc."\n"."</article>\n   ";
				    }
		    	}
			    $texte.="</fichier>\n";
            }
  
    }
	    if (!open (FILEOUT,">:encoding(latin1)",'texte.txt')) { die "Pb à la création du fichier pour TT : texte.txt"};
    print FILEOUT $texte;
	close FILEOUT;
}
1;
