Consultant i sumant al vol el número total de notícies publicades a més d'un centenar de multisites

Consultant i sumant al vol el número total de notícies publicades a més d'un centenar de multisites

En este article explique un programeta que m'he fet que consulta totes les notícies de més d'un centenar de multisites que tinc instal·lats i les suma per a obtenir indicadors anuals ara a finals d'any.

Este article està en relació amb els meus últims articles Consultant la taula dels continguts a Drupal per a treure indicadors mensuals i anuals des de MariaDB i també amb Modificant al vol els permisos del directori /files de molts projectes Drupal massivament perquè l'objectiu de tot era preparar indicadors mensuals i anuals de diverses matèries en més d'un centenar de webs Drupal que tenim a la feina instal·lades en mode multisite amb bases de dades distintes. I esta pràctica és ara molt útil per tal de llançar al vol consultes en totes les bases de dades de manera automatitzada i còmoda.

Ara ja tenim també un programeta Python que consulta totes les notícies (tipus de contingut article), tant en valencià com en castellà, i les suma per tal d'obtenir un indicador anual global de totes les notícies publicades a tots els portals web.

L'script queda així com mostra la següent captura de pantalla:
Consultant i sumant al vol el número total de notícies publicades a més d'un centenar de multisites

I el resultat ens llista el sumatori individual de cada portal web i el sumatori global al final del tot, tal i com mostra la següent captura de pantalla:
Consultant i sumant al vol el número total de notícies publicades a més d'un centenar de multisites

El codi del programa és el següent:

#/usr/bin/python2.7
# Autor: Joan Catala -jcatala@dipcas.es-

# Importem moduls
import mysql.connector

sumatori = 0

llista_bbdd = ['castellonord_db','penyagolosanord_db','pwm3L01120017','pwm3L01120022','pwm3L01120038','pwm3L01120043','pwm3L01120069','pwm3L01120075','pwm3L01120081','pwm3L01120108','pwm3L01120120','pwm3L01120136','pwm3L01120141','pwm3L01120154','pwm3L01120167','pwm3L01120173','pwm3L01120189','pwm3L01120206','pwm3L01120228','pwm3L01120249','pwm3L01120252','pwm3L01120265','pwm3L01120311','pwm3L01120347','pwm3L01120363','pwm3L01120379','pwm3L01120385','pwm3L01120398','pwm3L01120419','pwm3L01120424','pwm3L01120430','pwm3L01120458','pwm3L01120461','pwm3L01120483','pwm3L01120496','pwm3L01120509','pwm3L01120516','pwm3L01120521','pwm3L01120555','pwm3L01120568','pwm3L01120574','pwm3L01120580','pwm3L01120593','pwm3L01120607','pwm3L01120635','pwm3L01120640','pwm3L01120653','pwm3L01120672','pwm3L01120688','pwm3L01120691','pwm3L01120705','pwm3L01120727','pwm3L01120733','pwm3L01120748','pwm3L01120751','pwm3L01120764','pwm3L01120786','pwm3L01120799','pwm3L01120825','pwm3L01120831','pwm3L01120878','pwm3L01120884','pwm3L01120901','pwm3L01120918','pwm3L01120923','pwm3L01120939','pwm3L01120944','pwm3L01120957','pwm3L01120976','pwm3L01120982','pwm3L01120995','pwm3L01121016','pwm3L01121037','pwm3L01121068','pwm3L01121074','pwm3L01121080','pwm3L01121093','pwm3L01121107','pwm3L01121114','pwm3L01121129','pwm3L01121135','pwm3L01121140','pwm3L01121153','pwm3L01121166','pwm3L01121188','pwm3L01121191','pwm3L01121205','pwm3L01121212','pwm3L01121227','pwm3L01121233','pwm3L01121248','pwm3L01121251','pwm3L01121264','pwm3L01121270','pwm3L01121310','pwm3L01121325','pwm3L01121331','pwm3L01121346','pwm3L01121378','pwm3L01121397','pwm3L01121418','pwm3L01121423','pwm3L01129018','pwm3L01129023','pwm3L04120001','pwm3L05120003','pwm3L05120005','pwm3L05120007','pwm3L05120008','pwm3L05120009','pwm3L05120010','pwm3L09999999','pwm3_033','pwm3_061','pwm3_085','pwm3_105','pwm3_111','torreblanca_db']

print ("==========================================\n")

for i in llista_bbdd:
    miConexion = mysql.connector.connect( host='SERVIDOR', user= 'USUARI', passwd='CONTRASENYA', db=i)
    cur = miConexion.cursor()
    cur.execute( "select count(*) from node_field_data WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') LIKE '%2021%';" )
    resultado=cur.fetchall()
    print ("Base de datos " + i + ": " + str(resultado[0][0]) + " noticias")
    print ("==========================================")
    sumatori = sumatori + resultado[0][0]

    # Escrivim al fitxer
    escrivim_arxiu = open('totes_les_noticies.txt', 'a')
    escrivim_arxiu.write(str(resultado[0][0]) + '\n')

print ("\n ===> TOTAL DE NOTICIES: " + str(sumatori) + "\n")
escrivim_arxiu.close()

#Tanquem la connexio amb la base de dades
miConexion.close()

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES