Wicri:Dilib source, module Wicri, commande WicriStatistiquesSite : Différence entre versions

De Wicri Outils
imported>Asma Lahssini
(Code source)
imported>Asma Lahssini
(Code source)
Ligne 43 : Ligne 43 :
 
       printf ("|{{formatnum:%s}}\n", pagesStr);
 
       printf ("|{{formatnum:%s}}\n", pagesStr);
 
       printf ("|-  \n");
 
       printf ("|-  \n");
        printf ("|%s\n", SxmlInputRecordKey);
+
     
 
       printf ("|{{formatnum:%s}}\n", numarticles);
 
       printf ("|{{formatnum:%s}}\n", numarticles);
 
       printf ("|-  \n");
 
       printf ("|-  \n");
        printf ("|%s\n", SxmlInputRecordKey);
+
              printf ("|{{formatnum:%s}}\n", numedites);
      printf ("|{{formatnum:%s}}\n", numedites);
 
 
       printf ("|-  \n");
 
       printf ("|-  \n");
         printf ("|%s\n", SxmlInputRecordKey);
+
          
 
       printf ("|{{formatnum:%s}}\n", numimages);
 
       printf ("|{{formatnum:%s}}\n", numimages);
 
       printf ("|-  \n");
 
       printf ("|-  \n");

Version du 9 juillet 2020 à 17:04

Code source

/*   -*- coding: utf-8 -*-  */
#include "SxmlNode.h"

int main()
{
  SxmlNode *apiNode ;
  SxmlNode *queryNode;
  SxmlNode *statNode;
 
  char *pagesStr;
  char *numarticles;
  char *numedites;
  char  *numimages;
  int pagesNum;

  printf ("{| class=\"wikitable sortable\" \n");
  printf ("|-  \n");
  printf ("!Wiki\n");
  printf ("!Pages\n");
   printf ("!articles\n");
   printf ("!edites\n");
   printf ("!images\n");

  printf ("|-  \n");

  while ((apiNode=SxmlInputGetDocumentElement()))
    {
       queryNode=SxmlGetFirstChildByTagName(apiNode, "query"); 
       if (!queryNode)continue;

       statNode= SxmlGetFirstChildByTagName(queryNode, "statistics");
       if (!statNode)continue;

       pagesStr=SxmlGetAttribute(statNode,"pages");
       numarticles=SxmlGetAttribute(statNode,"articles");
       numedites=SxmlGetAttribute(statNode,"edites");
       numimages=SxmlGetAttribute(statNode,"images");


       printf ("|%s\n", SxmlInputRecordKey);
       printf ("|{{formatnum:%s}}\n", pagesStr);
       printf ("|-  \n");
      
       printf ("|{{formatnum:%s}}\n", numarticles);
       printf ("|-  \n");
              printf ("|{{formatnum:%s}}\n", numedites);
       printf ("|-  \n");
        
       printf ("|{{formatnum:%s}}\n", numimages);
       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


Voir le résultat en page Discussion