blob: 8ae597307e7bbce39183ed70aa26d48b29870dcf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package Scire::Job;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $filename = shift;
my $self = {};
bless ($self, $class);
if(defined $filename) {
$self->set_filename($filename);
}
return $self;
}
sub set_filename {
my $self = shift;
my $filename = shift;
$self->{filename} = $filename;
my $jobcontents;
my $jobdata;
open JOB, "< ${filename}" or die "Can't open file ${filename}";
$jobcontents = join("", <JOB>);
close JOB;
$jobdata = eval($jobcontents);
($@) and print "ERROR: Could not parse job file ${filename}!\n";
if(defined $jobdata->{script}) {
for(keys %{$jobdata->{script}}) {
$self->{$_} = $jobdata->{script}->{$_};
}
}
for(keys %{$jobdata}) {
$self->{$_} = $jobdata->{$_} unless($_ eq "script");
}
}
1;
|