Utilisateur:Djobot/tempfile.cpp


// ********************************************************************************
//
//      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 tempfile.cpp            version 1.0.1
//
//      gère toute l'interaction avec la Wikipédia francophone.
//
//      ajout dans les version précédente:
//      v 1.0.1:
//          envoie du LOG au démarage du bot si il n'a pas été envoyer précédament (plantage)
//
// ********************************************************************************


#include<stdio.h>
#include"tempfile.h"

tempfile::tempfile(string name)
{
    file=name;
    buf="";
}

tempfile::~tempfile()
{
    send();
}

void tempfile::check()
{
    ifstream temp(file.c_str());
    if (temp.is_open())
    {
        put("------ une erreure est survenue causant l'arrêt du bot-----",true);
        temp.close();
        send();
    }
}

void tempfile::put(string data)
{
    buf+=("\n** "+data);
}

void tempfile::put(string data,bool putall)
{
    static bool first=true;
    if(putall)
    {
        ofstream temp(file.c_str(), ofstream::app);
        if(first)
        {
            first=false;
            temp<<"log du ~~~~~\n";
        }

        temp<<"\n* "<<data<<buf;
        temp.close();
        buf="";
    }
    else
    {
        put(data);
    }
}
string tempfile::take()
{
    string sent="";
    ifstream temp(file.c_str());
    while(temp.good())
        sent+=temp.get();

    temp.close();
    return sent;
}

void tempfile::send()
{
    page logsend("Utilisateur:djobot/log");
    logsend.recupArt();
    logsend.article=take();
    logsend.resume("MAJ du LOG");
    logsend.sendPage();
    remove(file.c_str());
}