Llistant tots els correus electrònics dels usuaris a més de 110 projectes Drupal multisite

Llistant tots els correus electrònics dels usuaris a més de 110 projectes Drupal multisite

En aquest xicotet article explique com m'ho he fet per tal d'obtenir al vol un llistat amb tots els correus electrònics de tots els redactors web d'una instal·lació multisite Drupal que tenim a la feina amb més de 110 webs independents.

A la feina tenim un Drupal pare que alberga més de 110 webs a /sites instal·lades en mode multisite. Cada projecte Drupal té la seua base de dades MariaDB amb les seues notícies, pàgines i usuaris. I ara necessitàvem obtenir tots els correus electrònics de tots els redactors web per tal d'enviar-los un butlletí informatiu. Doncs bé, m'he fet aquest script en Python que primer llista tots els projectes i després obté el correu electrònic, i finalment els va guardant a un fitxer en format .txt

L'script és així:

#/usr/bin/python2.7
#

# Importem moduls
import mysql.connector

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']

for i in llista_bbdd:
    print ("\n\n==========================================\nWeb " + i + "\n==========================================\n")
    miConexion = mysql.connector.connect( host=''SERVIDOR_X', user= 'USUARI_X', passwd='CONTRASENYA_X', db=i)
    cur = miConexion.cursor()
    cur.execute( "SELECT mail FROM users_field_data WHERE uid>1;" )
    resultado=cur.fetchall()
    print resultado
    
    # Escrivim al fitxer
    escrivim_arxiu = open('llistat_de_correus.txt', 'a')
    escrivim_arxiu.write(str(resultado))
    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.