Wicri:Dilib source, module Wicri, commande WicriStatistiquesSite : Différence entre versions
De Wicri Outils
imported>Jacques Ducloy (→Code source) |
imported>Jacques Ducloy (→Code source) |
||
Ligne 27 : | Ligne 27 : | ||
pagesStr=SxmlGetAttribute(statNode,"pages"); | pagesStr=SxmlGetAttribute(statNode,"pages"); | ||
− | |||
printf ("|%s\n", SxmlInputRecordKey); | printf ("|%s\n", SxmlInputRecordKey); | ||
− | printf ("|{{formatnum:%s}}\n", | + | printf ("|{{formatnum:%s}}\n", pagesStr); |
printf ("|- \n"); | printf ("|- \n"); | ||
+ | |||
+ | pagesNum= atoi(SxmlGetAttribute(statNode, "pages")); | ||
+ | |||
}; | }; |
Version du 9 juillet 2020 à 16:02
Code source
/* -*- coding: utf-8 -*- */
#include "SxmlNode.h"
int main()
{
SxmlNode *apiNode ;
SxmlNode *queryNode;
SxmlNode *statNode;
char *pagesStr;
int pagesNum;
printf ("{| class=\"wikitable sortable\" \n");
printf ("|- \n");
printf ("!Wiki\n");
printf ("!Pages\n");
printf ("|- \n");
while ((apiNode=SxmlInputGetDocumentElement()))
{
queryNode=SxmlGetFirstChildByTagName(apiNode, "query");
if (!queryNode)continue;
statNode= SxmlGetFirstChildByTagName(queryNode, "statistics");
if (!statNode)continue;
pagesStr=SxmlGetAttribute(statNode,"pages");
printf ("|%s\n", SxmlInputRecordKey);
printf ("|{{formatnum:%s}}\n", pagesStr);
printf ("|- \n");
pagesNum= atoi(SxmlGetAttribute(statNode, "pages"));
};
printf ("|}\n");
}
Mise en œuvre
Importation
WicriGetPage -l wicri-outils.fr -p "Wicri:Dilib source, module Wicri, commande WicriStatistiquesSite" \
| MediaWikiExtractSources -w | HfdStoreFile
Compilation
gcc testDilib/WicriStatistiquesSite.c $DILIB_CC -l curl -o testDilib/WicriStatistiquesSite
Test
- Pour visualiser la liste d'entrée
cat testDilib/wiki.dict \
| ./testDilib/WicriExpandApiFromList -a "meta=siteinfo&siprop=statistics" \
| SxmlIndent
- Pour tester
cat testDilib/wiki.dict \
| ./testDilib/WicriExpandApiFromList -a "meta=siteinfo&siprop=statistics" \
| ./testDilib/WicriStatistiquesSite