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 4 : | Ligne 4 : | ||
#include "SxmlNode.h" | #include "SxmlNode.h" | ||
− | printf ("{| | + | printf ("{| class=\"wikitable sortable\" \n"); |
printf ("|- \n"); | printf ("|- \n"); | ||
printf ("!Wiki\n"); | printf ("!Wiki\n"); | ||
Ligne 32 : | Ligne 32 : | ||
pagesStr=SxmlGetAttribute(statNode,"pages"); | pagesStr=SxmlGetAttribute(statNode,"pages"); | ||
pagesNum= atoi(SxmlGetAttribute(statNode, "pages")); | pagesNum= atoi(SxmlGetAttribute(statNode, "pages")); | ||
+ | |||
+ | printf ("|%s\n", SxmlInputRecordKey); | ||
+ | printf ("|{{formatnum:%s}}\n", pagesNum); | ||
+ | printf ("|- \n"); | ||
}; | }; | ||
+ | printf ("|}\n"); | ||
} | } | ||
</source> | </source> |
Version du 9 juillet 2020 à 15:56
Code source
/* -*- coding: utf-8 -*- */
#include "SxmlNode.h"
printf ("{| class=\"wikitable sortable\" \n");
printf ("|- \n");
printf ("!Wiki\n");
printf ("!Pages\n");
printf ("|- \n");
int main()
{
SxmlNode *apiNode ;
SxmlNode *queryNode;
SxmlNode *statNode;
char *pagesStr;
int pagesNum;
while ((apiNode=SxmlInputGetDocumentElement()))
{
queryNode=SxmlGetFirstChildByTagName(apiNode, "query");
if (!queryNode)continue;
/* SxmlPrint(queryNode);putchar('\n');
printf ("%s\n", SxmlInputRecordKey); /
statNode= SxmlGetFirstChildByTagName(queryNode, "statistics");
if (!statNode)continue;
/* SxmlPrint(statNode);putchar('\n'); /
pagesStr=SxmlGetAttribute(statNode,"pages");
pagesNum= atoi(SxmlGetAttribute(statNode, "pages"));
printf ("|%s\n", SxmlInputRecordKey);
printf ("|{{formatnum:%s}}\n", pagesNum);
printf ("|- \n");
};
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