Ayuda con un plugin

Publicado por lervis, Enero 25, 2013, 11:28:04 AM

Tema anterior - Siguiente tema

lervis

Amigos se que me van a decir que trate de hacerlo por mi mismo pero quisiera una ayuda para este pligin es de la pigina oficial de los testigos de jehova aca se consigues todas las publicaciones libros revistas y videos y necesito tratar de q me cache todo lo q aca se coloca como archivos pdf archivos de videos y demas a fin de q me cargue mas rapido la pagina y las descargas mil gracias de ante mano disculpen las molestias.. la pagina es la siguiente...


http://www.jw.org/es/

como les dije desearia poder cachar todo archivo disculpen las molestias

roxdng

http://www.alterserv.com/foros/index.php?topic=9.0

contribuye con la comunidad, es la mejor forma de integrarte y aprender

lervis

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o jw.org.so jw.org.cpp
// regex
// http.*\.jw\.org.*(\.jpg|\.png|\.gif|\.swf|\.mp3|\.zip|\.pdf|\.acc)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find(".jw.org") != string::npos) and (url.find(".jpg") != string::npos) or (url.find(".png") != string::npos) or (url.find(".gif") != string::npos) or (url.find(".swf") != string::npos) or (url.find(".mp3") != string::npos) != string::npos) or (url.find(".zip") != string::npos) != string::npos) or (url.find(".pdf") != string::npos) != string::npos) or (url.find(".acc") != string::npos)
        ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "Jw_org";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}

lervis

Amigo se q aca no ayudo mucho porq no se mucho de la programacion de los plugin y aunq no se mucho ya lo e estado intentando solo q me sale mal por eso es q pido ayuda no porq quiero q me lo hagan todo de hecho alli esta el codigo q estaba tratando de hacer funcionar pero me da errores en algunas lineas y aun sigo haciendo pruebas...

lervis

 A y por favor no digas q contribuya pareciera q uno no tuviera ni la menor intencion de ayudar.. el amigo joemg es conocido en varios foros y grupos y siempre donde veo q hay gente interesada les ayudo eso sip no trato de hacerme ver como el mejor o nada por el estilo disculpe si suena un poco duro pero ya esa linea q colocaste la e leido y tratando de seguir esa guia es q e tratado pero no me sale... como dije antes no espero q lo hagan por mi pero si q me den una mano como las q a veces e visto q luis y otros han dado..

luistec

Revisando las Urls de los servidores que usa se puede ver que tiene el siguiente formato

http://download.jw.org/files/media_magazines/4f/g_S_201304_01.mp3
http://download.jw.org/files/media_magazines/70/g_S_201304.pdf

Prueba utilizando el nombre download.jw.org.cpp


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o download.jw.org.so download.jw.org.cpp
// regex
// http.*\.jw\.org.*(\.jpg|\.png|\.gif|\.swf|\.mp3|\.zip|\.pdf|\.acc)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);          
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
   resposta r;


if ( (url.find("download.jw.org/") != string::npos)  
) {

   r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "jw_org";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


Saludos.

roxdng

Cita de: lervis en Enero 25, 2013, 12:28:44 PM
A y por favor no digas q contribuya pareciera q uno no tuviera ni la menor intencion de ayudar.. el amigo joemg es conocido en varios foros y grupos y siempre donde veo q hay gente interesada les ayudo eso sip no trato de hacerme ver como el mejor o nada por el estilo disculpe si suena un poco duro pero ya esa linea q colocaste la e leido y tratando de seguir esa guia es q e tratado pero no me sale... como dije antes no espero q lo hagan por mi pero si q me den una mano como las q a veces e visto q luis y otros han dado..
Estimado Lervis, el contenido de la pagina que mencionas en su mayoría es estático, jpg, png,pdf, etc, todo eso lo cachea squid por defecto, no veo la necesidad de crear un plugin para esa pagina. Cuando se genera una necesidad es cuando no cachea squid, me refiero a contenido dinámico, vídeos, flash, etc. Espero que esto aclare tus dudas

lervis

  Gracias por comentar luis... voy a probar... amigo roxdng se q el hace cache a ciertas cosas peroo hay contenido como los mp3 q segun lo q he probado no me lo cachea y en especial un video q esta alli en el sig enlace http://www.jw.org/es/ense%C3%B1anzas-b%C3%ADblicas/familias/ni%C3%B1os/hazte-amigo-de-jehov%C3%A1/ ese video lo he cargado dos veces para probar y nad no se porq no lo guarda... entiendo q se crean plugin para cosas q si hacen falta y no estan siendo cacheadas pero para mi esta pagina ademas de ser importante en mi red tiene bastante demandas de descargas y demas y ese video se q lo van a usar constante y seguido... mil disculpas si estoy molestando mucho... gracias a  ambos suerte probare con lo q me paso luis y les comento saludos

lervis

 Amigo luis de veras sos un genio ahora si me cachea el video muchas gracias lo q estoy tratando ahora es q me salga en el cache report  ya q la letra J no esta aunq cree un apartado igual q lo tienen las demas letras y guarde e reiniciado varias vece para ver y aun nada pero bueno te agredesco la mano viejo muchas gracias  ambos... gracias luis...

seguire probando como meterlo en el cache report.. lo raro es q los demas si los e colocado y salen finos saludos