Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import pymysql
- # Connect to the source database
- connection = pymysql.connect(host='mariadb55.websupport.sk',
- port=3310,
- user='my_db_user',
- passwd='my_db_pass',
- db='my_db_name',
- charset='utf8mb4',
- cursorclass=pymysql.cursors.DictCursor)
- # Select All E-Mails from Unregistered Database
- with connection.cursor() as cursor:
- sql = "SELECT `email` FROM `mail_unregistered`"
- cursor.execute(sql)
- result = cursor.fetchall()
- # Add it to list
- bad_emails = []
- for x in result:
- si_mail = str(x['email']).replace('\n','').replace(' ','')
- bad_emails.append(si_mail)
- # Close connection to Database
- cursor.close()
- connection.close()
- print("\n### Prosessing... ###\n")
- # Connect to second database
- connection = pymysql.connect(host='mariadb55.websupport.sk',
- port=3310,
- user='my_dbuser',
- passwd='my_db_pass',
- db='my_db_name',
- charset='utf8mb4',
- cursorclass=pymysql.cursors.DictCursor)
- # Select All E-Mails from DB where Group ID is not equal 1 (In this case already Unsubscribered)
- with connection.cursor() as cursor:
- sql = "SELECT `sub_mail` FROM `subscribers` WHERE `GID` != 1"
- cursor.execute(sql)
- result = cursor.fetchall()
- # Add it to list
- good_emails = []
- for x in result:
- si_mail = str(x['sub_mail']).replace('\n','').replace(' ','')
- good_emails.append(si_mail)
- # If E-Mail from first list (Unsubscribers) is in second list Update its record in Database with Group ID 1
- for mail in bad_emails:
- if mail in good_emails :
- print ("Duplicate : " + mail)
- with connection.cursor() as cursor:
- sql = "UPDATE `subscribers` SET `GID`=1 WHERE `sub_mail` LIKE %s"
- cursor.execute(sql, (mail))
- print(cursor.description)
- print ("Group changed to Unsubscribers")
- # else :
- # print ("\nUnique : " + mail)
- # Close Connection
- cursor.close()
- connection.close()
- print("\n### Finished ###\n")
- print "DB Unsubscribers : " + str(len(bad_emails))
- print "DB Lethe : " + str(len(good_emails))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement