def ajouteralabdd(self, page): # Suppression d'un modèle chiant pour le calcul de date p = page.text.replace('{{1er}}', '1').replace('{{er}}', '') # Récupération des infos n = self.re_modele.search(p) if n: mod = BeBot.modeletodic(n.group(0)) categorie = n.group(2).replace('_', ' ') # Remise au propre de la casse categorie = categorie[0].upper() + categorie[1:].lower() date = datetime.datetime(1970, 1, 1) if 'date' in mod: o = self.re_date.search(mod['date']) if o: try: jour = int(o.group(1)) mois = BeBot.moistoint(o.group(2)) annee = int(o.group(3)) except: pywikibot.error("Problème de conversion de la date '%s' sur [[%s]]" % (o.group(0), page.title())) return False date = datetime.datetime(annee, mois, jour) else: pywikibot.error("Impossible de reconnaitre le format de date pour %s" % page.title()) return False # Sauvegarde curseur = self.conn.cursor() req = 'INSERT INTO %s ' % self.nom_base \ + '(titre, label, date) VALUES ("%s", "%s", "%s")' \ % (page.title(), categorie, date) if self.debug: #pywikibot.output("Ajout de %s" % page.title()) print('.',end="",flush=True) return try: curseur.execute(req) except sqlite3.Error as e: pywikibot.error("Erreur lors de l'INSERT :\n%s" % (e.args[0])) self.conn.commit() return True if page.namespace() == 0: pywikibot.error("Impossible de trouver le modèle AdQ/BA sur l'article %s" % page.title()) return False