Utilisateur:Djobot/work.cpp

Un article de Wikipédia, l'encyclopédie libre.


// ********************************************************************************
//
//      djobot, bot pour wikipédia. Sous licence gpl au nom de djo0012.
//
//      l'utilisation de ce bot est sous la responsabilité de son utilisateur,
//      en aucun cas je ne peut être tenu responsable des actions effectuer avec
//      ce bot par d'autre personne que moi-même.
//
//      je ne garantis en aucun cas le bon fonctionnement de ce code.
//
//      fichier work.cpp            version 1.0
//
//      contient les fonctions de modification des article ou aident a cette modification.
//
// ********************************************************************************


#include"work.h"
#include"tempfile.h"
#include"page.h"

extern tempfile log;

void work::INItakeHTMLlink(string pageHTML)
{
    pageTemplink=pageHTML;
}

bool work::takeHTMLlink(string& val)
{
    string temp;
    do
    {
        if((int)pageTemplink.find("<a href=")>0)
        {
            pageTemplink=pageTemplink.substr(pageTemplink.find("<a href=")+9);
            temp=(pageTemplink.substr(0,pageTemplink.find_first_of('"')));

            if(temp.substr(0,6)=="/wiki/")
            {
                    pageTemplink=pageTemplink.substr(pageTemplink.find("/wiki/")+6);
                    val=(pageTemplink.substr(0,pageTemplink.find_first_of('"')));
                    return true;
            }
        }
        else
        {
            return false;
        }
    }while(1);
}

void work::INItakeHTMLname(string pageHTML)
{
    pageTempname=pageHTML;
}

bool work::takeHTMLname(string& val)
{
    string temp;
    do
    {
        if((int)pageTempname.find("<a href=")>0)
        {
            pageTempname=pageTempname.substr(pageTempname.find("<a href=")+9);
            if(pageTempname.substr(0,6)=="/wiki/")
            {
                pageTempname=pageTempname.substr(pageTempname.find('>')+1);
                temp=(pageTempname.substr(0,pageTempname.find_first_of('<')));

                if((int)temp.find(':')<=0)
                {
                    val=temp;
                    return true;
                }
            }
        }
        else
        {
            cout<<'\n';
            return false;
        }

    }while(1);

}

string work::replace(string chaine,string val, string val2)
{
    string temp,chaineend="";

    for(int i=0;;++i)
    {
        if((int)chaine.find(val)>0)
        {
            chaineend+=chaine.substr(0,chaine.find(val));
            chaine=chaine.substr(chaine.find(val)+val.length());
            chaineend+=val2;
            log.put("remplacement de "+val+" par "+val2);
        }
        else
        {
            chaineend+=chaine;
            return chaineend;
        }

    }
}