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 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());
}