﻿#
#	不具合票のHTMLで，取得していないHTMLを検索するプログラム
#
#		author	hitoshi-m
#

use strict;
use warnings;


##############
#    入力    #
##############

my $DirectoryPath = 'C:\Users\kashiwa\Desktop';  #OSSのプロジェクトフォルダがある場所
my $ProjectName   = 'Eclipse';  #OSSのプロジェクト名
	
my $Min = 38;  #不具合票の探索範囲(IDの下限)
my $Max = 39;  #不具合票の探索範囲(IDの上限)：


##############
#  変数宣言  #
##############

my $BugPath = '';
my $ActPath = '';

my $BugFile = '';
my $ActFile = '';

my @Line = '';
my $BugID = '';
my $ActID = '';

&main();
exit;


sub main {
	$BugPath = $DirectoryPath.'\\'.$ProjectName.'\\bug\\';  # バグ情報のHTMLのPATH
	$ActPath = $DirectoryPath.'\\'.$ProjectName.'\\activity\\';  # 活動履歴のHTMLのPATH
	
	print "Bug Path : ".$BugPath."\n";
	print "Act Path : ".$ActPath."\n";
	
	open(BUGFILE, ">LostBugHTML.txt") or die "cannot open savefile.\n";
	open(ACTFILE, ">LostActHTML.txt") or die "cannot open savefile.\n";
	
	for(my $i=$Min; $i<$Max; $i++) {
		print "Searching Lost File : ID=".($i*10000)."...\n";
		
		for(my $j=($i*10000); $j<(($i+1)*10000); $j++) {
			$BugFile = $BugPath."bug_".$i."_".($i+1)."\\show_bug\.cgi_id=".($j+1);
			$ActFile = $ActPath."activity_".$i."_".($i+1)."\\show_activity\.cgi_id=".($j+1);
			
			if(!open(BFILE,"<$BugFile")) {
				print "$BugFile\n";
				@Line = split(/id=/, $BugFile);
				$BugID = $Line[1];
				print BUGFILE join ('',"$BugID\n");
			}
			if(!open(AFILE,"<$ActFile")) {
				print "$ActFile\n";
				@Line = split(/id=/, $ActFile);
				$ActID = $Line[1];
				print ACTFILE join ('',"$ActID\n");
			}
			
			close(BFILE);
			close(AFILE);
		}
	}
	
	close(BUGFILE);
	close(ACTFILE);
}
