pageviews: Permet l’affichage écran ou enregistrer

This commit is contained in:
Mattéo Delabre 2019-11-25 23:47:27 -05:00
parent 8b960eb911
commit 5f7a3ddf69
Signed by: matteo
GPG Key ID: AE3FBD02DC583ABB
1 changed files with 17 additions and 13 deletions

View File

@ -10,14 +10,6 @@ from scipy import stats
import sys import sys
import mwclient import mwclient
# Configuration de Matplotlib
matplotlib.use('pgf')
matplotlib.rcParams.update({
'pgf.texsystem': 'xelatex',
'font.family': 'serif',
'text.usetex': True,
'pgf.rcfonts': False,
})
# Chemin racine pour les API Wikimedia # Chemin racine pour les API Wikimedia
wikimedia_base_path = 'https://wikimedia.org/api/rest_v1' wikimedia_base_path = 'https://wikimedia.org/api/rest_v1'
@ -223,9 +215,6 @@ def create_year_plot():
for month in range(1, 13) for month in range(1, 13)
]) ])
import locale
locale.setlocale(locale.LC_ALL, 'fr_FR.utf8')
ax.set_xticklabels(calendar.month_abbr[1:13]) ax.set_xticklabels(calendar.month_abbr[1:13])
return fig, ax return fig, ax
@ -240,7 +229,8 @@ Obtient les statistiques moyenne de vue de pages wiki.
Paramètres: Paramètres:
project Projet Wikipédia ciblé (par exemple fr.wikipedia.org). project Projet Wikipédia ciblé (par exemple fr.wikipedia.org).
output Nom du fichier de sortie sera écrit le graphe. output Nom du fichier de sortie sera sauvé le graphe, ou '-' pour
afficher le résultat à lécran.
article Nom(s) darticle(s) Wikipédia ciblé(s). article Nom(s) darticle(s) Wikipédia ciblé(s).
Au moins un article doit être donné. Le nombre de visites est lissé avec un Au moins un article doit être donné. Le nombre de visites est lissé avec un
@ -255,6 +245,17 @@ dénombrée comme une visite sur la page canonique.
articles = sys.argv[3:] articles = sys.argv[3:]
site = mwclient.Site(project) site = mwclient.Site(project)
output_to_file = output != '-'
if output_to_file:
matplotlib.use('pgf')
matplotlib.rcParams.update({
'pgf.texsystem': 'xelatex',
'font.family': 'serif',
'text.usetex': True,
'pgf.rcfonts': False,
})
fig, ax = create_year_plot() fig, ax = create_year_plot()
for article in articles: for article in articles:
@ -275,4 +276,7 @@ dénombrée comme une visite sur la page canonique.
fig.autofmt_xdate() fig.autofmt_xdate()
fig.tight_layout() fig.tight_layout()
pyplot.savefig(output) if output_to_file:
pyplot.savefig(output)
else:
pyplot.show()