Guest User

Untitled

a guest
Feb 24th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.89 KB | None | 0 0
  1. import os
  2. import re
  3. import mysql.connector as mariadb
  4.  
  5.  
  6.  
  7. def table_mail_acc():
  8.  
  9. ###############################CONNECT TO SQLs##############################
  10. mariadb_connection_mailDB = mariadb.connect(host='', port='', user='', password='',
  11. database='', charset='utf8')
  12. mariadb_connection_phoneDB = mariadb.connect(host='', port='', user='',
  13. password='',
  14. database='', charset='utf8')
  15. #############################################################################
  16.  
  17. #############################CURSOR SQLs####################################
  18. cursor_mail= mariadb_connection_mailDB.cursor()
  19. cursor_phone = mariadb_connection_phoneDB.cursor()
  20. #############################################################################
  21.  
  22. ###########################SQL COMMAND######################################
  23. sql_command_mail = "SELECT name,username FROM mailbox"
  24. sql_command_phone = "SELECT p.post_title,pm.meta_value,pt.name FROM ph_posts p,ph_postmeta pm,ph_terms
  25. pt,ph_term_relationships ptr WHERE p.ID=pm.post_ID AND meta_key='e-mail' AND pt.term_id=ptr.term_taxonomy_id AND ptr.object_id=p.ID"
  26. #############################################################################
  27.  
  28. ##########################CURSOR EXECUTE ####################################
  29. cursor_mail.execute(sql_command_mail)
  30. cursor_phone.execute(sql_command_phone)
  31. #############################################################################
  32.  
  33. ########################SQL REQ RESULT#######################################
  34. result_sql_mail = cursor_mail.fetchall()
  35. result_sql_phone = cursor_phone.fetchall()
  36. #############################################################################
  37.  
  38. #######################CONNECT CLOSE#########################################
  39. mariadb_connection_phoneDB.close()
  40. cursor_phone.close()
  41. mariadb_connection_mailDB.close()
  42. cursor_mail.close()
  43. #############################################################################
  44.  
  45. ######################CREATE TABLE##########################################
  46. phonebook_table = []
  47. for phonebook_row in result_sql_phone:
  48. rework_table_phonebook = list(filter(None, (str(phonebook_row[0] + ' ' + phonebook_row[2]).split(" "))))
  49. phonebook_table.append(rework_table_phonebook)
  50. #############################################################################
  51.  
  52. ##############################ALGORITM#######################################
  53. subscriber_table = []
  54. for data_user in phonebook_table:
  55. SURNAME = str(data_user[0].capitalize())
  56. FIRST_NAME = str(data_user[1])[0]
  57. MIDDLE_NAME = str(data_user[2])[0]
  58. full_match = re.compile(r'(' + re.escape(SURNAME) + r')\s+(' + re.escape(FIRST_NAME) + r')\W+(' + re.escape(MIDDLE_NAME) + r')\W+([0-9]+)\W+([\w.-]+@[\w.-]+)' )
  59. search_user = re.search(full_match,str(result_sql_mail))
  60. if search_user is not None:
  61. data_user.append(search_user.group(5))
  62. subscriber_table.append(data_user)
  63. if search_user == None:
  64. half_match = re.compile(r'(' + re.escape(SURNAME) + r')\W+([0-9]+)\W+([\w.-]+@[\w.-]+)')
  65. search_user_half = re.search(half_match,str(result_sql_mail))
  66. if search_user_half is not None:
  67. data_user.append(search_user_half.group(3))
  68. subscriber_table.append(data_user)
  69. #############################################################################
  70.  
  71. #############################CONNECT TO BD FOR UPDATE########################
  72. mariadb_connection_phoneDB_update = mariadb.connect(host='', port='', user='',
  73. password='',
  74. database='', charset='utf8')
  75. #############################################################################
  76.  
  77. ################################WORK WITH SUB TABLE##########################
  78. for users in subscriber_table:
  79. subscriber= users[0]+' '+users[1]+' '+users[2]
  80. MAIL = users[-1]
  81. cursor_update = mariadb_connection_phoneDB_update.cursor()
  82. sql_command_phone_update_mail = "UPDATE ph_postmeta pm,ph_posts p,ph_terms pt,ph_term_relationships ptr SET meta_value=%s " \
  83. "WHERE p.ID=pm.post_ID AND pt.term_id=ptr.term_taxonomy_id AND ptr.object_id=p.ID AND pm.meta_key='e-mail' AND p.post_title LIKE %s"
  84. cursor_update.execute(sql_command_phone_update_mail,(MAIL, '%' + subscriber+ '%'))
  85. #############################################################################
  86.  
  87. #####################CONFIM AND CONNECT CLOSE################################
  88. mariadb_connection_phoneDB_update.commit()
  89. mariadb_connection_phoneDB.close()
  90. #############################################################################
  91. print('job done')
  92.  
  93. table_mail_acc()
Add Comment
Please, Sign In to add comment