[Update] FilmAffinity (ES) v2.50 (nov 2011)

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

[Update] FilmAffinity (ES) v2.50 (nov 2011)

Post by morfius »

FilmAffinity (ES) v2.50 (nov 2011)

Update today. Works fine for me. For you?
Greetins from Spain

[Spanish translation]
Actualizado hoy. A mi me va de perlas, ¿y a ti?
Nos vemos


Link en Megaupload de FilmAffinity (ES) v2.50 (nov 2011)

Edit: Critics in Script don't work. I don't like other reviewers except mine ;)
Edit: Las críticas suelen ser del tipo "el asesino es el mayordomo" y claro, antes de ver la peli pues como que fastidia un poco.
Last edited by morfius on 2011-11-10 16:32:26, edited 3 times in total.
Protasio
Posts: 7
Joined: 2011-11-08 00:07:57

Perfecto

Post by Protasio »

Muchas gracias por la rapidez. Va perfecto.

Gracias de nuevo
Last edited by Protasio on 2011-11-10 15:09:05, edited 1 time in total.
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

Post by morfius »

gracias a ti por probarlo ;)
saintwolf
Posts: 4
Joined: 2011-11-08 10:14:02
Location: Spain
Contact:

Post by saintwolf »

Te lo agradezco muchísimo. Para los que dependemos mucho del AMC para ordenar la colección de películas, aunque sólo fuera unos días ya era un problema que hubiera dejado de funcionar.

Un saludo
z3us
Posts: 86
Joined: 2008-02-19 17:36:53

Post by z3us »

Pues me alegro que ya lo tengáis solucionado. Aún así, os recomiendo probar MediaPortal y el plugin MyFilms para reproducir las películas de vuestro catálogo, es sensacional. (y gratis)
http://forum.team-mediaportal.com/my-films-164/
Pegaso
Posts: 4
Joined: 2011-11-10 14:21:49

Post by Pegaso »

Mil gracias morfius!!

Sólo una cosita...
En versiones anteriores, se importaban las "Críticas" (las oficiales que aparecen en filmaffinity, no las de los usuarios), bajo la descripción.

¿Sería posible que se sigan importando?

Gracias!
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

Post by morfius »

Pegaso wrote:Mil gracias morfius!!

Sólo una cosita...
En versiones anteriores, se importaban las "Críticas" (las oficiales que aparecen en filmaffinity, no las de los usuarios), bajo la descripción.

¿Sería posible que se sigan importando?

Gracias!
Ya lo estudiaré, pero tendría que actualizar de versión, subir de nuevo a mega.. etc. en fin un rollo patatero para algo que, además, no me gusta.


Gracias a todos por probarlo ;)
Pegaso
Posts: 4
Joined: 2011-11-10 14:21:49

Post by Pegaso »

morfius wrote:
Ya lo estudiaré, pero tendría que actualizar de versión, subir de nuevo a mega.. etc. en fin un rollo patatero para algo que, además, no me gusta.


Gracias a todos por probarlo ;)
Bueno... si sabes el código a incluir, bastaría con que me digas dónde ponerlo, y puedo editarlo yo mismo... :-)

¿Alguna pista aunque sea?

Y gracias a ti.
crack1986
Posts: 6
Joined: 2011-11-07 17:36:34

campo actores

Post by crack1986 »

hola. alguien sabria como modificar el texto para k los actores salgan separados por comas en vez de por cmabios de lines?
ertejeonline
Posts: 3
Joined: 2011-11-10 17:55:18

Post by ertejeonline »

Funcionaaa!!!

Muchas gracias.

El año no me lo cogía, lo he cambiado en el script por

Code: Select all

   // Year
   LineNr := FindLine('<th>AÑO</th>', Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 2);
// A CONTINUACIÓN LA ÚNICA LINEA QUE HE CAMBIADO
      Item := TextBetween(Line, '</div>      ', '    </td>');
      HTMLDecode(Item);
      SetField(fieldYear, Trim(Item));
   end;
Y ya funciona, Saludos!
ChessPlayer
Posts: 15
Joined: 2005-05-23 14:16:39

Post by ChessPlayer »

Pues a mí no :cry: . Me he bajado el rar de MU, he extraído el .ifs y he sustituído el viejo por el nuevo, he reinicializado y ¡nada!. He probado con dos películas: Destructor (1943) y Ciudad de vida y muerte (2009), una antigua y otra moderna y lo único que localiza es la URL de la película.
rozy11
Posts: 1
Joined: 2011-11-10 20:19:36

Post by rozy11 »

ChessPlayer wrote:Pues a mí no :cry: . Me he bajado el rar de MU, he extraído el .ifs y he sustituído el viejo por el nuevo, he reinicializado y ¡nada!. He probado con dos películas: Destructor (1943) y Ciudad de vida y muerte (2009), una antigua y otra moderna y lo único que localiza es la URL de la película.
Ola a mi tambien me pasaba eso!!Haz esto:
1-Abre el scrip que descargaste con el wordpad,selecciona todo el texto y copialo!
2-Abre el ANT Movie y en herramientas vas a scripping y seleccionas el scrip de filmaffinity y le das a EDITOR borras todo eso y copias el texto que descargaste
3-Guardas y ya funciona!!

Salu2!!!
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

Re: campo actores

Post by morfius »

crack1986 wrote:hola. alguien sabria como modificar el texto para k los actores salgan separados por comas en vez de por cmabios de lines?

Code: Select all

// cambia #13#10 por  ', ' coma y espacio entre apóstrofos
// en las dos líneas del tratamiento de Actors

     Actors := TextBetween(Line, '">', '</a>') + ', ';
     while Pos('stype=cast', Line) > 0 do
        Actors := Actors + TextBetween(Line, '"> ', '</a>') + ', ';
Un saludo
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

Post by morfius »

ertejeonline wrote:Funcionaaa!!!

Muchas gracias.

El año no me lo cogía, lo he cambiado en el script por
Efectivamente el código web es distinto si la peli tiene un link al trailer

por ejemplo

Schindler's List NO tiene trailer

Code: Select all

<td><strong>Schindler's List</strong></td>
  </tr>

  <tr>
    <th>AÑO</th>
    <td>
            1993    </td>
Avatar SI tiene trailer

Code: Select all

<td><strong>Avatar</strong></td>
  </tr>

  <tr>
    <th>AÑO</th>
    <td>
      <div style="float:right;"><a href="http://www.apple.com/trailers/fox/avatar/" target="_blank">Ver trailer externo</a></div>      2009    </td>
Seguro que habrá más errores, dado que mi capacidad de comprobación es limitada, así que en unos días corregiré todos los errores que aquí indiquéis.

OJO si se cambia el código por el que propone nuestro amigo ertejeonline, dejará de calcular el año para las que no tienen trailer. Os recomiendo esperar un par de días.

En cualquier caso gracias de nuevo por vuestra colaboración.
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

Post by morfius »

Sin menospreciar a nadie, los problemas de ChessPlayer y rozy11 no parece que tengan que ver con este script en concreto, y sería mejor no complicar el tema inicial. Gracias de nuevo
morfius
Posts: 26
Joined: 2011-11-10 13:01:06

Post by morfius »

El tema del campo Año parece que se soluciona para todas las películas con este nuevo código:

Code: Select all

   // Year
   LineNr := FindLine('<th>AÑO</th>', Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 2);

      if Pos('Ver trailer', Line) > 0 then
        Item := TextBetween(Line, '</div>      ', '</td>')
      else
      begin
        Item := TextBetween(Line, '     ', '</td>')
      end;
      HTMLDecode(Item);
      SetField(fieldYear, Trim(Item));
   end;
Hasta que no pasen unos días no habrá más versiones y una solución global, pero iré posteando las soluciones locales a los problemas aquí planteados
Pegaso
Posts: 4
Joined: 2011-11-10 14:21:49

Post by Pegaso »

Otra solución posible para le problema del Año, más de andar por casa, pero es la que se me ocurrió y parece que funciona ;-)

Code: Select all

   // Year
   LineNr := FindLine('<th>AÑO</th>', Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 2);
      Item := TextBetween(Line, '</div>      ', '    </td>');
      Item := Item + TextBetween(Line, '     ', '</td>');
      HTMLDecode(Item);
      SetField(fieldYear, Trim(Item));
   end;

Por cierto, ya encontré la manera de cazar el campo de críticas que se eliminaron en esta versión :grinking:
ChessPlayer
Posts: 15
Joined: 2005-05-23 14:16:39

Post by ChessPlayer »

rozy11 wrote:
ChessPlayer wrote:Pues a mí no :cry: . Me he bajado el rar de MU, he extraído el .ifs y he sustituído el viejo por el nuevo, he reinicializado y ¡nada!. He probado con dos películas: Destructor (1943) y Ciudad de vida y muerte (2009), una antigua y otra moderna y lo único que localiza es la URL de la película.
Ola a mi tambien me pasaba eso!!Haz esto:
1-Abre el scrip que descargaste con el wordpad,selecciona todo el texto y copialo!
2-Abre el ANT Movie y en herramientas vas a scripping y seleccionas el scrip de filmaffinity y le das a EDITOR borras todo eso y copias el texto que descargaste
3-Guardas y ya funciona!!

Salu2!!!
¡Gracias! Ahora ya va.
javienigma
Posts: 21
Joined: 2011-11-08 12:06:48

Post by javienigma »

Yo he actualizado a la v2.50 y de momento no he tenido problema con los años. Respecto a la separación de los actores, la verdad es que lo prefiero con cambio de renglón...
Por cierto, ya encontré la manera de cazar el campo de críticas que se eliminaron en esta versión
¿Cómo? Esto si me gustaría añadirlo al script.

No obstante, estaré pendiente por si sale una versión actualizada con todas las mejoras.

Gracias por los aportes!
Pegaso
Posts: 4
Joined: 2011-11-10 14:21:49

Post by Pegaso »

javienigma wrote: ¿Cómo? Esto si me gustaría añadirlo al script.

No obstante, estaré pendiente por si sale una versión actualizada con todas las mejoras.
Por lo que me pareció entender a morfius cuando planteé el tema, es posible que el apartado de Críticas no se incluya en la versión final...
Si así fuese, tendrás que modificarlo tú mismo a mano, pero no es demasiado difícil :)

Sobre la versión 2.50 que está en este post, lo más sencillo es añadir las críticas en la sección de Comentarios.
Para ello, sólo tienes que pegar este trozo de código:
(lo puedes poner, por ejemplo, antes de // Category)

Code: Select all

   // Critic
   LineNr := FindLine('<th>CRÍTICAS</th>', Page, LineNr);
   if LineNr <> -1 then
   begin
      Comments := Comments + 'Críticas: ' + #13#10;
      LineNr := LineNr + 3;
      Item := Page.GetString(LineNr);
      while Pos ('</tr>', Item) = 0 do
      begin
         while Pos('<br>', Item) <> 0 do
            Item := StringReplace(Item, '<br>', #13#10);
         while Pos('</br>', Item) <> 0 do
            Item := StringReplace(Item, '</br>', #13#10);
         while Pos('  ', Item) <> 0 do
            Item := StringReplace(Item, '  ', ' ');
         Comments := Comments + DeleteTags(Item);
         LineNr := LineNr + 1;
         Item := Page.GetString(LineNr);
      end;
   end;
Con eso debería ser suficiente para que aparezcan las Críticas en la zona de Comentarios.


Sin embargo, yo prefiero tener las críticas bajo la Sinopsis, en el campo de Descripción... (como estaba en las primeras versiones).

Para hacer eso, el procedimiento es un poco más complejo.


- Primero: añadir una nueva variable para el campo de Descripción.
Busca:

Code: Select all

procedure AnalyzeMoviePage(Address: string);
var
Añade bajo esas líneas:

Code: Select all

   Description: string;

-Segundo: Modifica la captura de la Sinopsis, para que se añada a esa nueva variable:

Code: Select all

   // Synopsis
   LineNr := FindLine('<th>SINOPSIS</th>', Page, LineNr);
   if LineNr <> -1 then
   begin
      Line := Page.GetString(LineNr + 1);
      Item := TextBetween(Line, '<td>', '</td>');
      Description := Description + Trim(Item) + #13#10 + #13#10 + #13#10;
   end;

-Tercero: captura las Críticas y las metes en la misma variable, pegando esto después del código anterior:

Code: Select all

   // Critic
   LineNr := FindLine('<th>CRÍTICAS</th>', Page, LineNr);
   if LineNr <> -1 then
   begin
      Description := Description + 'Críticas: ' + #13#10;
      LineNr := LineNr + 3;
      Item := Page.GetString(LineNr);
      while Pos ('</tr>', Item) = 0 do
      begin
         while Pos('<br>', Item) <> 0 do
            Item := StringReplace(Item, '<br>', #13#10);
         while Pos('</br>', Item) <> 0 do
            Item := StringReplace(Item, '</br>', #13#10);
         while Pos('  ', Item) <> 0 do
            Item := StringReplace(Item, '  ', ' ');
         Description := Description + DeleteTags(Item);
         LineNr := LineNr + 1;
         Item := Page.GetString(LineNr);
      end;
   end;

-Cuarto: Define el campo de Descripción, para que aparezcan la Sinopsis y las Críticas.
Busca:

Code: Select all

      HTMLDecode(Comments);
      SetField(fieldComments, Comments);
Pega justo debajo (y encima de "end;"):

Code: Select all

      HTMLDecode(Description);
      SetField(fieldDescription, Description);
Y con eso tienes las Críticas en el apartado de Descripción ;)
Post Reply