~gcstar/gcstar/packaging

« back to all changes in this revision

Viewing changes to debian/patches/11_fix_allocine_plugin.dpatch

  • Committer: Andrew Ross
  • Date: 2012-09-02 20:18:02 UTC
  • Revision ID: ubuntu@rossfamily.co.uk-20120902201802-qss1bywvxdoe4m9y
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh /usr/share/dpatch/dpatch-run
 
2
## 11_fix_allocine_plugin.dpatch by Clément Hermann (nodens) <clement.hermann@free.fr>
 
3
##
 
4
## All lines beginning with `## DP:' are a description of the patch.
 
5
## DP: No description.
 
6
 
 
7
@DPATCH@
 
8
diff -urNad gcstar-1.4.3~/lib/gcstar/GCPlugins/GCfilms/GCAllocine.pm gcstar-1.4.3/lib/gcstar/GCPlugins/GCfilms/GCAllocine.pm
 
9
--- gcstar-1.4.3~/lib/gcstar/GCPlugins/GCfilms/GCAllocine.pm    2008-08-15 13:55:14.000000000 +0200
 
10
+++ gcstar-1.4.3/lib/gcstar/GCPlugins/GCfilms/GCAllocine.pm     2009-03-01 01:35:05.622195296 +0100
 
11
@@ -2,7 +2,7 @@
 
12
 
 
13
 ###################################################
 
14
 #
 
15
-#  Copyright 2005-2007 Tian
 
16
+#  Copyright 2005-2009 Tian
 
17
 #
 
18
 #  This file is part of GCstar.
 
19
 #
 
20
@@ -54,11 +54,16 @@
 
21
         }
 
22
         else
 
23
         {
 
24
-            if ($tagname eq "h4")
 
25
+            if ($tagname eq "h3")
 
26
             {
 
27
                 $self->{insideActors} = 0;
 
28
                 $self->{insideDirector} = 0;
 
29
-                if ($attr->{style} =~ /color:#D20000/)
 
30
+                $self->{insideCast}=0;
 
31
+                $self->{insideCastLine}=0;
 
32
+                $self->{insideRole}=0;
 
33
+                $self->{insideActor}=0;
 
34
+                $self->{insideDate}=0;
 
35
+                if ($attr->{style} =~ /color:\s*#D20000/)
 
36
                 {
 
37
                     $self->{insideAge} = 1;
 
38
                 }
 
39
@@ -70,7 +75,11 @@
 
40
             elsif ($tagname eq "img")
 
41
             {
 
42
                 my $src = $attr->{src};
 
43
-                if (!$self->{curInfo}->{image})
 
44
+                if($self->{insidePressRating} == 1 && $attr->{class}=~/etoile_(\d)/){
 
45
+                    $self->{curInfo}->{ratingpress}=2+2*$1;
 
46
+                    $self->{insidePressRating} = 0;
 
47
+                }
 
48
+                elsif (!$self->{curInfo}->{image})
 
49
                 {
 
50
                     if ($src =~ /\/nmedia\//)
 
51
                     {
 
52
@@ -78,9 +87,9 @@
 
53
                         {
 
54
                             my $pageUrl = $self->{loadedUrl};
 
55
                             $pageUrl =~ s/fichefilm_/galerievignette_/;
 
56
-                            my $page = $self->loadPage($pageUrl);
 
57
+                            my $page = $self->loadPage($pageUrl, 0, 1);
 
58
                             $page =~ m/<img id='imgNormal' class='photo' src='(.*?)'/ms;
 
59
-                            $src = $1;
 
60
+                            $src = $1 if $1;
 
61
                         }
 
62
                        $self->{curInfo}->{image} = $src;
 
63
                     }
 
64
@@ -90,6 +99,23 @@
 
65
                     }
 
66
                }
 
67
            }
 
68
+           elsif (($tagname eq "table") && ($attr->{cast} eq "1"))
 
69
+           {
 
70
+               $self->{insideCast}=1;
 
71
+           }
 
72
+           elsif (($tagname eq "tr") && ($self->{insideCast}))
 
73
+           {
 
74
+               $self->{insideCastLine}=1;
 
75
+           }
 
76
+           elsif (($tagname eq "h5") && ($self->{insideCastLine}))
 
77
+           {
 
78
+               $self->{insideRole}=1;
 
79
+           }
 
80
+           elsif (($tagname eq "a") && ($self->{insideCastLine}))
 
81
+           {
 
82
+               $self->{insideRole}=0;
 
83
+               $self->{insideActor}=1;
 
84
+           }
 
85
            elsif ($tagname eq "br")
 
86
            {
 
87
                if ($self->{insideSynopsis})
 
88
@@ -109,6 +135,24 @@
 
89
         {
 
90
             $self->{insideSynopsis} = 0;
 
91
         }
 
92
+       elsif (($tagname eq "td") && ($self->{isInfo}))
 
93
+       {
 
94
+           #work around bad date for last search result
 
95
+           $self->{isInfo}=0;
 
96
+       }
 
97
+       elsif (($tagname eq "td") && ($self->{insideCastLine}))
 
98
+       {
 
99
+           $self->{insideRole}=0;
 
100
+           $self->{insideActor}=0;
 
101
+       }
 
102
+       elsif (($tagname eq "tr") && ($self->{insideCastLine}))
 
103
+       {
 
104
+           $self->{insideCastLine}=0;
 
105
+       }
 
106
+       elsif (($tagname eq "table") && ($self->{insideCast}))
 
107
+       {
 
108
+           $self->{insideCast}=0;
 
109
+       }
 
110
     }
 
111
 
 
112
     sub text
 
113
@@ -153,21 +197,46 @@
 
114
                 $origtext =~ s/[\r\n]//g;
 
115
                 $self->{curInfo}->{title} = $origtext if length($origtext) > 2;
 
116
             }
 
117
-            if ($self->{inside}->{h3})
 
118
+            if ($self->{inside}->{h2})
 
119
             {
 
120
-                $self->{insideSynopsis} = 1 if $origtext =~ /Synopsis/
 
121
+                $self->{insideSynopsis} = 1 if $origtext =~ /Synopsis/;
 
122
             }
 
123
-            if ($self->{inside}->{h4})
 
124
-            {
 
125
-                if ($self->{insideSynopsis})
 
126
+            if ($self->{inside}->{h4}){
 
127
+                if ($self->{insideActors})
 
128
                 {
 
129
                     $self->{curInfo}->{synopsis} .= $origtext;
 
130
                 }
 
131
-                elsif ($self->{insideActors})
 
132
+                elsif ($self->{insideSynopsis})
 
133
+                {
 
134
+                    $self->{curInfo}->{synopsis} .= $origtext;
 
135
+                }
 
136
+                elsif ( $origtext =~ /^Saga /)
 
137
                 {
 
138
+                    $origtext =~ s/Saga //;
 
139
+                    $self->{curInfo}->{serie}=$origtext;
 
140
+                }
 
141
+            }
 
142
+            elsif ($self->{inside}->{h3})
 
143
+            {
 
144
+                if ($self->{insideActors})
 
145
+                {
 
146
+                    #Actors from fichefilm page
 
147
                     $self->{curInfo}->{actors} .= $origtext;
 
148
                     $self->{curInfo}->{actors} =~ s/^\s*//;
 
149
                 }
 
150
+                elsif ($self->{insideRole})
 
151
+                {
 
152
+                    #Roles from casting page
 
153
+                    push @{$self->{curInfo}->{actors}}, [$origtext,$origtext] 
 
154
+                    if ($self->{actorsCounter} <= $GCPlugins::GCfilms::GCfilmsCommon::MAX_ACTORS);
 
155
+                }
 
156
+                elsif ($self->{insideActor})
 
157
+                {
 
158
+                    #Actors from casting page
 
159
+                    $self->{curInfo}->{actors}->[$self->{actorsCounter}]->[0]=$origtext
 
160
+                    if ($self->{actorsCounter} <= $GCPlugins::GCfilms::GCfilmsCommon::MAX_ACTORS);
 
161
+                    $self->{actorsCounter}++;
 
162
+                }
 
163
                 elsif ($self->{insideDirector})
 
164
                 {
 
165
                     $self->{curInfo}->{director} .= $origtext;
 
166
@@ -177,6 +246,18 @@
 
167
                     $origtext =~ s/.*?([0-9]+).*/$1/;
 
168
                     $self->{curInfo}->{age} = $origtext;
 
169
                 }
 
170
+                elsif ($self->{insideDate})
 
171
+                {
 
172
+                    $origtext =~ s/^[\s\n]*//;
 
173
+                    $origtext =~ s/\s*$//;
 
174
+                    $self->{curInfo}->{date} = $origtext;
 
175
+                    $self->{insideDate}=0;
 
176
+                }
 
177
+                elsif (( $origtext =~ /^Date de sortie/ )
 
178
+                    && ( !$self->{curInfo}->{date} ) )
 
179
+                {
 
180
+                    $self->{insideDate}=1;
 
181
+                }
 
182
                 elsif ( $origtext =~ /^Genre/ )
 
183
                 {
 
184
                     $origtext =~ s/^Genre : //;
 
185
@@ -193,14 +274,6 @@
 
186
                     $origtext =~ s/^Durée : (.*)?/$1/;
 
187
                     $self->{curInfo}->{time} = $origtext;
 
188
                 }
 
189
-                elsif (( $origtext =~ /Date de sortie/ )
 
190
-                    && ( !$self->{curInfo}->{date} ) )
 
191
-                {
 
192
-                    $origtext =~ s/Date de sortie : (.*)/$1/;
 
193
-                    $origtext =~ s/^[\s\n]*//;
 
194
-                    $origtext =~ s/\s*$//;
 
195
-                    $self->{curInfo}->{date} = $origtext;
 
196
-                }
 
197
                 elsif ( $origtext =~ /^Titre original/ )
 
198
                 {
 
199
                     $origtext =~ s/^Titre original : .*?/$1/;
 
200
@@ -208,13 +281,18 @@
 
201
                 }
 
202
                 elsif (($origtext =~ /^Avec/ ) && (! $self->{curInfo}->{actors}))
 
203
                 {
 
204
+                    #Detecting actors from fichefilm page
 
205
                     $self->{insideActors} = 1;
 
206
                 }
 
207
                 elsif ( $origtext =~ /^Réalisé par/ )
 
208
                 {
 
209
                     $self->{insideDirector} = 1;
 
210
                 }
 
211
-           }
 
212
+            }
 
213
+            elsif ( $origtext =~ /^Presse$/ )
 
214
+            {
 
215
+               $self->{insidePressRating} = 1;
 
216
+            }
 
217
         }
 
218
     }
 
219
 
 
220
@@ -235,6 +313,7 @@
 
221
         $self->{isMovie} = 0;
 
222
         $self->{curName} = undef;
 
223
         $self->{curUrl} = undef;
 
224
+        $self->{actorsCounter}=0;
 
225
 
 
226
         bless ($self, $class);
 
227
         return $self;
 
228
@@ -252,8 +331,15 @@
 
229
 
 
230
         if (!$self->{parsingList})
 
231
         {
 
232
-            # Remove link "Plus" in list of actors
 
233
-            $html =~ s|<a href="/film/casting_gen_cfilm=.*?>.*?</a>||gi;
 
234
+            #Remplacing actor list with cast page list
 
235
+            my $pageUrl = $self->{loadedUrl};
 
236
+            $pageUrl =~ s/fichefilm_/casting_/;
 
237
+            my $page = $self->loadPage($pageUrl, 0, 1);
 
238
+            if($page =~ m|<h2[^>]*>Acteurs</h2><hr /></td></tr>(.*?)</table>|ms)
 
239
+            {
 
240
+                my $src = $1;
 
241
+                $html =~ s|Avec.*Plus\.\.\.</a>|<table cast=1>$src</table>|i;
 
242
+            }
 
243
         }
 
244
         
 
245
         return $html;