1 | 88,91c88 |
---|
2 | < |
---|
3 | < # there can be multiple movies with the same imdbid, movie also has an id attribute. Force xml to ignore this id |
---|
4 | < # attribute, and always create an array of movies |
---|
5 | < my $xml = $xs->XMLin($response, forcearray => ['movie'], KeyAttr=>[ ]); |
---|
6 | --- |
---|
7 | > my $xml = $xs->XMLin($response); |
---|
8 | 96d92 |
---|
9 | < # there may be multiple movies with this id - assume the first one is the one we want |
---|
10 | 98c94 |
---|
11 | < my $tmdbid = $xml->{moviematches}->{movie}->[0]->{id}; |
---|
12 | --- |
---|
13 | > my $tmdbid = $xml->{moviematches}->{movie}->{id}; |
---|
14 | 146,164c142,159 |
---|
15 | < if (exists $xml->{moviematches}->{movie}->{people}->{person}) { |
---|
16 | < my @castlist = @{$xml->{moviematches}->{movie}->{people}->{person}}; |
---|
17 | < for (my $i = 0; $i < @castlist; $i++) |
---|
18 | < { |
---|
19 | < if ($castlist[$i]->{job} eq "actor") |
---|
20 | < { |
---|
21 | < $lcast[$cc++] = $castlist[$i]->{name}; |
---|
22 | < } |
---|
23 | < |
---|
24 | < if ($castlist[$i]->{job} eq "director") |
---|
25 | < { |
---|
26 | < $ldirector[$dc++] = $castlist[$i]->{name}; |
---|
27 | < } |
---|
28 | < |
---|
29 | < if ($castlist[$i]->{job} eq "writer") |
---|
30 | < { |
---|
31 | < $lwriter[$wc++] = $castlist[$i]->{name}; |
---|
32 | < } |
---|
33 | < } |
---|
34 | --- |
---|
35 | > my @castlist = @{$xml->{moviematches}->{movie}->{people}->{person}}; |
---|
36 | > for (my $i = 0; $i < @castlist; $i++) |
---|
37 | > { |
---|
38 | > if ($castlist[$i]->{job} eq "actor") |
---|
39 | > { |
---|
40 | > $lcast[$cc++] = $castlist[$i]->{name}; |
---|
41 | > } |
---|
42 | > |
---|
43 | > if ($castlist[$i]->{job} eq "director") |
---|
44 | > { |
---|
45 | > $ldirector[$dc++] = $castlist[$i]->{name}; |
---|
46 | > } |
---|
47 | > |
---|
48 | > if ($castlist[$i]->{job} eq "writer") |
---|
49 | > { |
---|
50 | > $lwriter[$wc++] = $castlist[$i]->{name}; |
---|
51 | > } |
---|
52 | > |
---|
53 | 201,203c196 |
---|
54 | < # movie has an id attribute, we don't want this created into a hash, so force no key attr |
---|
55 | < my $xml = XMLin($response, forcearray => [ 'movie', 'poster', 'backdrop'], KeyAttr => { } ); |
---|
56 | < # print Dumper($xml); |
---|
57 | --- |
---|
58 | > my $xml = XMLin($response, forcearray => [ 'poster', 'backdrop' ]); |
---|
59 | 205a199 |
---|
60 | > my $poster = $xml->{moviematches}->{movie}->{poster}->[0]->{content}; |
---|
61 | 207,210c201,203 |
---|
62 | < my $poster; |
---|
63 | < |
---|
64 | < # there can be multiple movies with the same imdb id |
---|
65 | < foreach my $m (@{$xml->{moviematches}->{movie}}) |
---|
66 | --- |
---|
67 | > if ($poster) { |
---|
68 | > # check for a mid sized poster |
---|
69 | > foreach my $p (@{$xml->{moviematches}->{movie}->{poster}}) |
---|
70 | 212,213c205 |
---|
71 | < # check for a mid sized poster |
---|
72 | < foreach my $p (@{$m->{poster}}) |
---|
73 | --- |
---|
74 | > if ($p->{size} eq "mid") |
---|
75 | 215,219c207,208 |
---|
76 | < if ($p->{size} eq "mid") |
---|
77 | < { |
---|
78 | < $poster = $p->{content}; |
---|
79 | < last; |
---|
80 | < } |
---|
81 | --- |
---|
82 | > $poster = $p->{content}; |
---|
83 | > last; |
---|
84 | 225a215 |
---|
85 | > } |
---|