-
Notifications
You must be signed in to change notification settings - Fork 1
/
init.py
77 lines (62 loc) · 2.53 KB
/
init.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Script d'initialisation des sections hebdomadaires / mensuelles
# (C) Linedwell, 2011-2018
#
# Distribué sous licence GNU GPLv3
# Distributed under the terms of the GNU GPLv3 license
# http://www.gnu.org/licenses/gpl.html
import sys
sys.path.insert(1, '..') #ajoute au PYTHONPATH le répertoire parent
import mylogging
import time
from datetime import date
import pywikibot
# Variables temporelles
dt = date.today()
yr = dt.strftime('%Y')
mt = dt.strftime('%m')
wk = dt.strftime('%V')
if wk > dt.strftime('%W'): #Si le numéro de semaine au format ISO est supérieur à celui au format "standard" alors on est la semaine 52 (ou 53) de l'année précédente
yr = str(int(yr)-1)
# Listes de pages
## Wikipedia
dicoWP = {
'site' : pywikibot.Site('fr','wikipedia'),
'pagesList' : [u'Wikipédia:Bulletin des administrateurs/%s/Semaine %s' % (yr,str(int(wk)))],
'pagesHeader' : [u'<noinclude>{{Wikipédia:Bulletin des administrateurs/en-tête court|année='+ yr + u'}}</noinclude>'],
'summary' : u'[[WP:Bot|Robot]] : initialisation de sous-page périodique'
}
##Vikidia
dicoVD = {
'site' : pywikibot.Site('fr','vikidia'),
'pagesList' : [u'Vikidia:Bavardages/%s/%s' % (yr,wk), u'Vikidia:La cabane/%s/%s' % (yr,mt), u'Vikidia:Bulletin des administrateurs/%s %s' % (yr,mt), u'Vikidia:Demandes aux administrateurs/%s %s' % (yr,mt)],
'pagesHeader' : [u'{{subst:Vikidia:Bavardages/Initialisation}}',u'<noinclude>{{Vikidia:La cabane/Navigation|année=' + yr + u'}}</noinclude>',u'<noinclude>{{Vikidia:Bulletin des administrateurs/Navigation|année='+ yr + u'}}</noinclude>',u'<noinclude>{{Vikidia:Demandes aux administrateurs/Navigation|année=' + yr + u'}}</noinclude>\n__TOC__\n{{clr}}'],
'summary' : u'[[VD:Robot|Robot]] : initialisation de sous-page périodique'
}
#initialise les pages si besoin
def initPages(dico):
index = 0
for pageName in dico['pagesList']:
page = pywikibot.Page(dico['site'],pageName)
if not page.exists():
pageTemp = dico['pagesHeader'][index]
summary = dico['summary']
page.text = pageTemp
page.save(summary,force=True)
else:
pywikibot.output(u"Page %s already exists; skipping."
% page.title(asLink=True))
index += 1
#Exécution
def main():
#timeStart = time.time()
initPages(dicoWP)
initPages(dicoVD)
#initMonthlyPages()
#timeEnd = time.time()
if __name__ == "__main__":
try:
main()
finally:
pywikibot.stopme()