Page 1 of 1

[REL] Zinema [Es] - Primera versión

Posted: 2006-01-01 14:29:33
by gilistico
En algunas ocasiones tiene esa pelicula que no encontramos en otros lugares.



Zinema (ES).ifs

Code: Select all

(*************************************************** 

Ant Movie Catalog importation script 
www.antp.be/software/moviecatalog/ 

[Infos] 
Authors=gilistico 
Title=Zinema (ES) 
Description= Movie importation script for "Zinema + Google" (Spain) 
Site=www.zinema.com 
Language=ES 
Version=1.0
Requires=3.5.0 
Comments= Primera version
License=This program is free software; you can redistribute it and/or modify it under the  terms of the GNU General Public License as published by the Free Software Foundation;  either version 2 of the License, or (at your option) any later version. | 
GetInfo=1 

[Options] 

***************************************************) 

program zinema; 
uses
	StringUtils1;
var 
  	MovieName: string; 


function MyTrim(var S: string): string; 
var 
   	n,len,  space: Integer; 
   	c: char; 
   	t: String; 
begin 


   	len := length(s); 

	for n:=len downto 1 do
	begin
		c := Copy(s,n,1); 
      		if(c= #32) OR (c=#9) OR (c=#13) OR (c=#10) then
			len := len-1
		else break; 
	end;

   	space := 2; 
   	t := ''; 
   	for n :=1 to len do 
   	begin 
      		c := Copy(s,n,1); 

      		if(c= #32) OR (c=#9) then 
      		begin 
         		if space > 0 then 
            			continue; 
         		c     := ' '; 
         		space := 1; 
      		end 
      		else if (c=#13) OR (c=#10) then
		begin
			if space > 0 then 
            			continue; 
			space := 1
		end
		else    space := 0; 

		t := t + c; 
	end; 
	s := t; 
	result := t; 
end; 

function DeleteTags(var S: string): string; 
var 
   n,len, tag, space: Integer; 
   c: char; 
   t: String; 
begin 

   tag := 0; 
   space := 0; 
   t := ''; 
   len := length(s); 

   for n :=1 to len do 
   begin 
      c := Copy(s,n,1); 

      if (c= #13) OR (c=#10) OR (c= #32) OR (c=#9) then 
      begin 
         if space = 1 then 
            continue; 
         c     := ' '; 
         space := 1; 
      end 
      else 
      begin 
         space := 0; 
      end; 

          
      if(tag=1) then 
      begin 
         if(c='>') then tag := 0; 
         continue; 
      end 
      else 
      begin 
         if(c='<') then 
         begin 
            tag := 1; 
            continue; 
         end; 
         t := t + c; 
      end; 
   end 
   s := t; 
   result := t; 
end; 





//------------------------------------------------------------------------------------ 

procedure AnalyzePage(Address: string); 
var 
   	Page: TStringList; 
   	LineNr, Count: Integer; 
   	PosIni, PosFin: Integer; 
   	Line, Line2, SubLine: string; 
   	Title, DirURL: string; 
   	txtTemp: string; 
begin 
     	Page := TStringList.Create; 
     	Page.Text := GetPage(Address); 

   	LineNr := FindLine('</b> - no produjo ningún documento.<br>', Page, 0); 
   	if LineNr <> -1 then 
   	begin 
      		ShowMessage('No se ha encontrado ningún registro'); 
        	Page.Free; 
      		exit;    
   	end; 

  
   PickTreeClear; 
   Count  := 0; 
   LineNr := 0; 

   While TRUE do 
   begin 

      LineNr := FindLine('<p class=g><a class=l href="', Page, LineNR+1); 
      if LineNr = -1 then 
      begin 
         LineNr := FindLine('<b> Siguiente </b>', Page, 0); 
         if LineNr = -1 then 
            break; 

           Line    := Page.GetString(LineNr); 
         Line    := TextBetween (Line, '<td nowrap nowrap>', '>'); 

         Address := TextBetween (Line, 'href=', '>'); 
         if Address = '' then 
            break; 

         Address   := 'http://www.google.com' + Address; 
           Page.Text := GetPage(Address); 

         LineNr := 0; 
         continue; 
      end; 

        Line   := Page.GetString(LineNr); 
      Line2  := Line; 

      DirURL := TextBetween (Line, '<p class=g><a class=l href="', '">'); 

      Line := Line2; 
      Title  := TextBetween (Line,'<p class=g>', '</a>'); 

      Line   := TextBetween (Line2,'LA BUTACA -', '</a>'); 
      if Line <>'' then 
         Title := Line; 

      DeleteTags(Title); 
      HTMLDecode(Title); 

      PickTreeAdd(Title, DirURL); 
      Count := Count +1; 

   end; 

   if Count = 0 then 
   begin 
      ShowMessage('No se han encontrado registros'); 
        Page.Free; 
      exit;    
   end; 
    
      
      if PickTreeExec(Address) then 
            AnalyzeMovie(Address); 

   Page.Free; 

end; 


//------------------------------------------------------------------------------------ 

procedure AnalyzeMovie(Address: string); 
var 
     	Page:     String; 
     	LineNr:   Integer; 
   	LineEnd:  Integer; 
     	Line:     string; 
     	Item:     string; 
     	Comments: string; 
begin 

     	Line := ''; 
   	Comments := ''; 

     	SetField(fieldURL, Address); 
     	Page := GetPage(Address); 

   	// Cartel 
	Item := TextBetween(Page, 'src="../../', '"'); 
 	if Item <> '' then
		GetPicture('http://www.zinema.com/'+Item ); 
	
	Page := StringReplace(Page,'<font color="#800000" face="Arial"><small><strong>  </strong></small></font>','');


    	// Titulo español 
   	Item := TextBetween(Page, '<font size="4">', '</font>'); 
	if Item <> '' then
	begin
      		Item := DeleteTags(Item); 
      		HTMLDecode(Item); 
		SetField(fieldTranslatedTitle, Trim (Item)); 
		SetField(fieldOriginalTitle,Trim (Item)); 
	end;

   	// Titulo original 
	Item := LeeDato(Page, 'original'); 
   	if Item <> '' then 
        	SetField(fieldOriginalTitle,Trim (Item)); 

   	// Dirección 
	Item := LeeDato(Page, 'Dirección'); 
   	if Item <> '' then 
      		SetField(fieldDirector, Trim (Item)); 
  
   	// Pais 
	Item := LeeDato(Page, 'Nacionalidad'); 
   	if Item <>'' then 
      		SetField(fieldCountry, Trim (Item)); 

   	// Año
	Item := LeeDato(Page, 'Año'); 
  	if Item <>'' then 
      		SetField(fieldYear, Trim (Item)); 

   	// Duración 
	Item := LeeDato(Page, 'Duración'); 
	if Item <>'' then 
      		SetField(fieldLength, TextBefore(Item,' m','')); 

   	// Genero 
	Item := LeeDato(Page, 'Género'); 
   	if Item <>'' then 
      		SetField(fieldCategory, Trim (Item)); 

   	// Interpretación 
	Item := LeeDato(Page, 'Intérpretes'); 
   	if Item <>'' then 
      		SetField(fieldActors, Item);  

   	// Sinopsis 
	Item := LeeDato(Page, 'Sinopsis'); 
   	if Item <>'' then 
      		 SetField(fieldDescription, Trim (Item)); 

   	// Guión
	Item := LeeDato(Page, 'Guión'); 
   	if Item <>'' then 
		Comments := Comments + 'Guión: ' + Item + #13#10;

   	// Fotografía
	Item := LeeDato(Page, 'Fotografía'); 
   	if Item <>'' then 
		Comments := Comments + 'Fotografía: ' + Item + #13#10;

   	// Música
	Item := LeeDato(Page, 'Música'); 
   	if Item <>'' then 
		Comments := Comments + 'Música: ' + Item + #13#10;

   	// Montaje
	Item := LeeDato(Page, 'Montaje'); 
   	if Item <>'' then 
		Comments := Comments + 'Montaje: ' + Item + #13#10;

   	// Estreno
	Item := LeeDato(Page, 'Estreno'); 
   	if Item <>'' then 
		Comments := Comments + 'Estreno en España: ' + Item;


	if(Comments <>'') then
		SetField(fieldComments, Comments); 




end; 

function  LeeDato(Page: String; Texto: string): string; 
var 
	Line: String;
begin
   	Line := TextBetween(Page, Texto +'</strong>', '<font color="#800000"'); 
	Line := StringReplace(Line,#13#10,' ');
	Line := StringReplace(Line,'<tr>',#13#10);
      	HTMLRemoveTags(Line); 
      	HTMLDecode(Line); 
	Line := MyTrim(Line);
      	result := Line; 
end;


//------------------------------------------------------------------------------------ 

begin 

   	if (CheckVersion(3,5,0)=FALSe) then       
      	begin 
        	ShowMessage('Se requiere Ant Movie Catalog versión 3.5 o superior'); 
        	exit; 
      	end; 

   	MovieName := GetField(fieldTranslatedTitle); 

   	if MovieName = '' then 
        	MovieName := GetField(fieldOriginalTitle); 

       	Input('Zinema', 'Titulo de la pelicula:', MovieName); 

        AnalyzePage(UrlEncode('http://www.google.com/custom?num=100&hl=es&rls=GGLD,GGLD:2005-49,GGLD:es&as_epq=' + MovieName + '&lr=lang_es&as_occt=title&as_dt=i&as_sitesearch=www.zinema.com')); 

end. 

Posted: 2006-01-01 15:46:35
by gasofa
Yo me quedo flipao con tu trabajo, colega.
MUCHAS GRACIAS

Nota: Aunque en realidad el 99% de las veces utilizo el Cineol, te lo curras una barbaridad. Por cierto no podrias hacer un scripts con varios scripts por ejemplo comprobando si no tiene duracion lo busca en otro scripts, si la caratula es menor de 10 kb la busca en otro, o incluso la caratula mas grande de 3, 4 o los scripts que sean. Para tener una buena caratula.Y así completar por ejemplo una pelicula con un script que busque todos los datos y encima la mejor caratula.-
Saludos.-

Posted: 2006-01-01 15:48:39
by gasofa
Ah!! perdona. FELIZ AÑO NUEVO!!!!

Posted: 2006-01-01 20:10:32
by gilistico
Por cierto no podrias hacer un scripts con varios scripts por ejemplo comprobando si no tiene duracion lo busca en otro scripts
Mi consejo es que uses IMDB (ES).ifs

Para todos los datos de la pelicula, a excepción de caratula, sinopsis y críticas.

En cualquier caso la duración (formatos, bitrates, etc.) de la película es mejor extraerla directamente del fuente que tengas (Divx, DVD, mpeg, etc.), es mucho más exacta.
si la caratula es menor de 10 kb la busca en otro, o incluso la caratula mas grande de 3, 4 o los scripts que sean. Para tener una buena caratula.
Desgraciadamente Antp :ha: :cool: ;) no nos ha dejado ninguna función que se pueda utilizar en el escript para controlar la caratula (cover, poster). Ni siquiera puedo saber si hay ya una cartula en el catalogo o si la caratula que he encontrado ha sido cargada. Supongo que para avanzar por este camino habrá que lanzar programas externos.

Y así completar por ejemplo una pelicula con un script que busque todos los datos y encima la mejor caratula.-
Saludos.-
Sobre la caratula, no es posible, pues faltan herramientas (funciones para usar en el script), salvo que se utilicen programas externos. En cualquier caso, por programa no se puede seleccionar entre varias caratulas que corresponden a los carteles de varios paises; si se hiciera automático, correríamos el riesgo de coger un cartel coreano en lugar del español que deseamos.

Creo que tampoco es posible la concatenación de scripts, por lo que habría que hacer un macroscript que incluyera el codigo de muchos, y no me parece muy correcto.

Supongo que habrá que esperar a que se mejoren los scripts y a que aparzcan nuevas versiones de Ant Movie Catalog :cool: que nos traigan nuevas funcionalidades. ;) :grinking:


Feliz 2006.

Posted: 2006-02-03 23:00:28
by airmuze
perdonen que quiza mi pregunta sea tonta pero como hago para agregar este script a mi soft ya andando??? no entiendo mucho de sto y necesito que me expliquen como si fuera un nene porque soy nueva en esto
no tengo ni idea y quiero scripts en castellano porque el que usaba de yahoo en español no me anda mas

les super agradecere
saludos

Posted: 2006-02-04 08:50:07
by gasofa
Buenas airmuze y bienvenida al foro, aunque ultimamente está bastante parado.-

Lo que tienes que hacer es ir a: http://www.antp.be/temp/scripts/ de aquí te bajas todos los scrips españoles (ES) y borras todos los que tienes en la carpeta scrips del programa en tu ordenador, de esta manera tendras todos los scrips actualizados y en español.-

Despues lo que tienes que ir es probando, para ver si funciona o no, porque hay veces que sobre todo nuestro "colega" gilistico hace mejoras o cambios y es ahí donde te tienes que venir al foro y ver si hay algun cambio.-

Ahora mismo hay algunos que no chutan bien, por ejemplo el que yo uso siempre que es el cineol, pone unas cosas raras en el cuadro de los Oscar's de la peli y eso, hay otros que tengo oido que no ponen la caratula, pero ya te digo que en cuanto se enteren los "artistas" nos lo solucionan.

GRACIAS a ellos y espero haberte ayudado algo.- ;)

Posted: 2006-02-04 11:27:10
by antp
I do not understand the message, but all the scripts that were on that address before last week are included in the latest AMC release, since I updated the package on last sunday ;)

Posted: 2006-02-04 12:08:22
by gasofa
¿¿alguien me puede traducir que es lo que ha dicho antp??? porque no m'enterao de na, pero de na de na.-

Posted: 2006-02-04 13:01:09
by folgui
!Hola!

Lo que quiere decir antp (what antp says translated to spanish) :

Todos los scripts que estaban en esa url la semana pasada están ahora incluidos en en el paquete de la última versión de AMC, paquete que ha actualizado el pasado domingo.

Saludos, folgui.

Posted: 2006-02-04 14:41:17
by antp
You forgot to translate that I did not understand what is said in his message :D (since I do not understand spanish, I only guess the global meaning of the messages when they are simple)

Posted: 2006-02-04 19:35:29
by gasofa
Ok folgui, gracias.
Buff, otra vez ha dicho algo y "forgot"¿eso es prohibido? :??: :??:

Posted: 2006-02-05 16:10:48
by icecubix
gasofa wrote:Ok folgui, gracias.
Buff, otra vez ha dicho algo y "forgot"¿eso es prohibido? :??: :??:
No, "forgot" es "olvidado". Dice que os habeis olvidado de traducir el hecho de que antp no entiende el español y le cuesta mucho deducir lo que decimos.

(in english)
"forgot" equals "olvidado". Antp says you have forgotten to translate the fact that he don't understand spanish and it's very hard for him to deduce what we say (my english it's not very good, sorry).

Posted: 2006-02-05 20:06:14
by gasofa
Ok icecubix, GRACIAS.-

Posted: 2006-02-06 09:26:18
by antp
icecubix wrote:Antp says you have forgotten to translate the fact that he don't understand spanish and it's very hard for him to deduce what we say (my english it's not very good, sorry).
It's folgui that forgot, not gasofa :D

Zinema.com ha dejado de funcionar??

Posted: 2006-12-06 10:39:24
by RANICUAJO
Muy buenas. ;) Soy nuevo por akí, y quisiera agradecer el curro que se a pegao antp con su programa (una gozada), y a los que os lo currais creando y arreglando scripts. :grinking:

El caso es que ultimamente el script de zinema (que es el que mas uso, ya que tiene toda la información que necesito) no me encuentra registros para ninguna película (incluso las que ya bajé antes) ¿sabeis si ha dejado de funcionar o ha cambiado la web o algo? :cry: Lo que mas me mola de este script, es que baja junto a los intérpretes, el nombre del correspondiente personaje. :cool:

Si se arregla la cosa, se podría meter algún arreglo al script para que no de error por los acentos (la dichosa página es sensible a ellos) :??:

Xalu2 y muchas thank yous

Posted: 2006-12-06 22:55:04
by folgui
¡Hola!

Efectivamente, han cambiado algunas cosas, al menos en la página de resultados, que yo haya visto, por eso no funciona correctamente.

Cuando tenga tiempo, le echaré un vistazo a ver si lo corrijo.

Saludos, folgui.

Posted: 2006-12-08 20:39:14
by RANICUAJO
folgui wrote:
Cuando tenga tiempo, le echaré un vistazo a ver si lo corrijo.

Saludos, folgui.
Gracias Folgui :wink:
No tengas prisa, q podemos esperar :o

Xalu2

Posted: 2007-01-21 10:07:26
by RANICUAJO
Esto... :??: perdonar por la insistencia, pero este script sigue sin funcionar y le tenía cariño a esta página :hihi:

Taluego :grinking: