Utilisateur:PamputtBot/Creer-Categorie-Principale.cpp
Cette routine écrite en c++ va lire un fichier stat.csv et génère un fichier main_cat.xml qui est ensuite donner au script pagefromfile de pywikipedia qui s’utilise comme ça :
- python pywikipedia/pagefromfile.py -start:xxxx -end:yyyy -autosummary -notitle -file:main_cat.xml
Enfin ce code fait appel à un fichier code_langue.cpp qui contient juste le remplissage du « map » code.
#include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <string>
#include <vector>
#include <cstdlib>
#include <map>
#include "code_langue.cpp"
using namespace std;
int main(int argc, char **argv)
{
ifstream infile("stat.csv");
//stat.csv est creer de la manière suivante
//sélectionner l'ensemble des cases du tableau de stat
//à Wiktionnaire:Statistiques
//Coller le contenu (collage spécial) dans un tableau de manière
//à ce que chaque colonne du tableau de stat se retrouve dans une
//colonne du tableur.
//Enfin, supprimer toutes les colonnes autres que le nom de la langue
if(!infile) {
cout << "Probleme avec " << text << endl;
return -1;
}
vector <string> nom;
string line;
while(getline(infile,line)) {
nom.push_back(line);
// cout << "verif : " << nom.back() << endl;
}
infile.close();
map<string,string> code;
get_code_map(code);
ofstream ofile("main_cat.xml");
for(unsigned int i=0 ; i<nom.size() ; i++)
{
nom[i] = nom[i].substr(0,nom[i].length()-1); //pour supprimer l'espace à la fin du nom.
ofile << "xxxx" << endl
<< "'''Catégorie:" << nom[i] << "'''" << endl
<< "Cette catégorie réunit les mots et locutions en [[" << nom[i] << "]] (code <code>[[" << code[nom[i]] << "]]</code>). La [[:Catégorie:Grammaire en " << nom[i] << "|section grammaire]] contient tous les types de mots comme les [[:Catégorie:Noms communs en " << nom[i] << "|noms communs]] ou les [[:Catégorie:Acronymes en " << nom[i] << "|acronymes]]. Elle contient en outre des sous-catégories thématiques : [[:Catégorie:Animaux en " << nom[i] << "|noms d’animaux]] ou [[:Catégorie:Lexique en " << nom[i] << " de la musique|lexique de la musique]], ou encore des catégories d’[[:Catégorie:Expressions en " << nom[i] << "|expressions]], ou enfin des registres de langue." << endl
<< "* <big>[[:Catégorie:Grammaire en " << nom[i] << "|Grammaire]]</big>" << endl
<< "* <big>[[:Catégorie:Thématiques en " << nom[i] << "|Thématiques]]</big>" << endl
<< "* <big>[[:Catégorie:Lexiques en " << nom[i] << "|Lexiques]]</big>" << endl
<< endl
<< "{{CatégorieTDM}}" << endl
<< "Voir aussi les [[:catégorie:Traductions en " << nom[i] << "|mots traduits en " << nom[i] << "]]." << endl
<< "[[Catégorie:Langues]]" << endl
<< "yyyy" << endl;
}
return 1;
}