Subversion Repositories computer_asset_manager_v1

Rev

Rev 6 | Rev 9 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6 Rev 8
Line 3... Line 3...
3
use IO::Interactive qw(is_interactive interactive busy);
3
use IO::Interactive qw(is_interactive interactive busy);
4
use YAML::XS;
4
use YAML::XS;
5
use Cwd 'abs_path';
5
use Cwd 'abs_path';
6
#use Data::Dumper;
6
#use Data::Dumper;
7
 
7
 
-
 
8
use File::Basename;
-
 
9
 
-
 
10
my $MY_DIRECTORY = abs_path(dirname(__FILE__) );
-
 
11
 
8
my $CRON= ! is_interactive(); # determine if we are in interactive shell
12
my $CRON= ! is_interactive(); # determine if we are in interactive shell
9
 
13
 
10
# control the flow of the program. $CHECKMAIL is pretty clear.
14
# control the flow of the program. $CHECKMAIL is pretty clear.
11
# if $PROCESS is false and $MOVEFILES is true, the files will be moved
15
# if $PROCESS is false and $MOVEFILES is true, the files will be moved
12
# but not processed (ie, they were processed some other way)
16
# but not processed (ie, they were processed some other way)
13
my $CHECKMAIL=1; #controls whether we will check the mail or not
17
my $CHECKMAIL=1; #controls whether we will check the mail or not
14
my $PROCESS=1; # controls whether we will process the files
18
my $PROCESS=1; # controls whether we will process the files
15
my $MOVEFILES=1; # controls whether we will move the files successfully processed
19
my $MOVEFILES=1; # controls whether we will move the files successfully processed
16
 
20
 
17
my $MY_DIRECTORY; # will hold the directory of the script
-
 
18
my $DATADIR; # will hold the reports directory
21
my $DATADIR; # will hold the reports directory
19
my $UNPROCESSED; # will hold the location for unprocessed reports
22
my $UNPROCESSED; # will hold the location for unprocessed reports
20
my $MAXTOPROCESS = 10000;
23
my $MAXTOPROCESS = 10000;
21
my %filesProcessed;
24
my %filesProcessed;
22
 
25
 
23
# following are used to find the configuration file
26
# following are used to find the configuration file
24
my $confFileName = "sysinfoRead.conf.yaml";
27
my $confFileName = "sysinfoRead.conf.yaml";
25
my @searchPaths = ( '/etc/camp', '/opt/camp', '/opt/camp/sysinfo', getcwd() );
28
my @searchPaths = ( '/etc/camp', '/opt/camp', '/opt/camp/sysinfo', $MY_DIRECTORY );
26
 
29
 
27
 
30
 
28
sub loadConfig {
31
sub loadConfig {
29
   my ( $confFileName, @searchPaths ) = @_;
32
   my ( $confFileName, @searchPaths ) = @_;
30
   my $configuration;
33
   my $configuration;
Line 34... Line 37...
34
      $filename = $searchPaths[$i] . '/' . $confFileName;
37
      $filename = $searchPaths[$i] . '/' . $confFileName;
35
      if ( -e $filename ) {
38
      if ( -e $filename ) {
36
         #print "Found $filename\n";
39
         #print "Found $filename\n";
37
         open CONF, "<$filename" or warn "Could not read $filename: $!\n";
40
         open CONF, "<$filename" or warn "Could not read $filename: $!\n";
38
         $configuration = Load( join( '', <CONF> ) );
41
         $configuration = Load( join( '', <CONF> ) );
-
 
42
         close CONF;
39
         last; # exit out of the loop; we don't try to load it more than once
43
         last; # exit out of the loop; we don't try to load it more than once
40
      } # if
44
      } # if
41
   } # foreach
45
   } # foreach
42
   return $configuration;
46
   return $configuration;
43
} # sub loadConfig
47
} # sub loadConfig
Line 96... Line 100...
96
}
100
}
97
 
101
 
98
# get our configuration set up first
102
# get our configuration set up first
99
 
103
 
100
my $config = &loadConfig( $confFileName, @searchPaths );
104
my $config = &loadConfig( $confFileName, @searchPaths );
101
die "Could not find configuration file $confFileName\n" unless $config;
105
die "Could not find configuration file $confFileName in " . join( ', ', @searchPaths) . "\n" unless $config;
-
 
106
 
-
 
107
# just some convenience variables
102
$DATADIR = $$config{'datapath'};
108
$DATADIR = $$config{'datapath'};
103
$UNPROCESSED=$DATADIR . '/' . $$config{'unprocessed_path'};
109
$UNPROCESSED=$DATADIR . '/' . $$config{'unprocessed_path'};
104
 
110
 
105
use File::Basename;
-
 
106
$MY_DIRECTORY = abs_path(dirname(__FILE__) );
111
# check that the executables exist before continuing
107
$getMailScript = "$MY_DIRECTORY/" . $$config{'getMailScript'};
112
$getMailScript = "$MY_DIRECTORY/" . $$config{'getMailScript'};
108
$processMailScript = "$MY_DIRECTORY/" . $$config{'processMailScript'};
113
$processMailScript = "$MY_DIRECTORY/" . $$config{'processMailScript'};
109
die "Could not find the getMailScript [$getMailScript] in $MY_DIRECTORY\n" unless -e $getMailScript;
114
die "Could not find the getMailScript [$getMailScript] in $MY_DIRECTORY\n" unless -e $getMailScript;
110
die "Could not find the processMailScript [$processMailScript] in $MY_DIRECTORY\n" unless -e $processMailScript;
115
die "Could not find the processMailScript [$processMailScript] in $MY_DIRECTORY\n" unless -e $processMailScript;
111
 
116