Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. import pickle
  2. import time
  3. import ftplib
  4. import MySQLdb
  5. import sys
  6. from sys import argv
  7. import os
  8. import urllib
  9. import subprocess
  10. from ftplib import FTP
  11. from time import sleep
  12. import requests
  13. from rets import Session
  14.  
  15. db2 = MySQLdb.connect(host="127.0.0.1", # your host, usually localhost
  16. charset='utf8',
  17. user="", # your username
  18. passwd="", # your password
  19. db="") # name of the data base
  20.  
  21. login_url = ''
  22. username = ''
  23. password = ''
  24. rets_client = Session(login_url, username, password)
  25. rets_client.login()
  26. system_data = rets_client.get_system_metadata()
  27. system_data
  28. resources = rets_client.get_resource_metadata(resource='Agent')
  29. resources
  30. cur2 = db2.cursor()
  31. #cur2.execute('select max(uid) from media;')
  32. #maxuid = cur2.fetchall()
  33. #maxdate = cur2.execute('select CONVERT_TZ(max(modified), @@session.time_zone, '+00:00') from media;')
  34. #date_str = cur2.fetchone()
  35. #created_date = datetime.strptime(date_created, '%Y-%m-%d %H:%M:%S')
  36. #print (maxdate)
  37. search_results = rets_client.search(resource='Property', resource_class='RES', dmql_query='(ModificationTimestamp=2019-02-18T10:16:46+)') #change search query here
  38.  
  39. cur2.execute('SET NAMES utf8;')
  40. cur2.execute('SET CHARACTER SET utf8;')
  41. cur2.execute('SET character_set_connection=utf8;')
  42.  
  43. chunk_size = 40000
  44. chunks = []
  45. chunk_size = max(1, chunk_size)
  46. for i in range(0, len(search_results), chunk_size):
  47. chunk = search_results[i:i+chunk_size]
  48. chunks.append(chunk)
  49.  
  50. for chunk in chunks:
  51.  
  52. placeholders = ', '.join(['%s'] * len(chunk[0]))
  53. columns = "`%s`" % '`,`'.join(chunk[0].keys())
  54.  
  55. sql = "INSERT IGNORE INTO houses ( %s ) VALUES ( %s ) ON DUPLICATE KEY UPDATE UID=VALUES(UID)" % (columns, placeholders) #change table here
  56.  
  57. chunk_values = []
  58. for result in chunk:
  59. chunk_values.append(tuple(result.values()))
  60.  
  61. success = False
  62.  
  63. try:
  64. cur2.executemany(sql, chunk_values)
  65. db2.commit()
  66. print ("Records inserted")
  67. success = True
  68. except:
  69. db2.rollback()
  70.  
  71. if not success:
  72. for result in chunk:
  73. placeholders = ', '.join(['%s'] * len(result))
  74. columns = "`%s`" % '`,`'.join(result.keys())
  75. sql = "INSERT INTO houses ( %s ) VALUES ( %s ) ON DUPLICATE KEY UPDATE UID=VALUES(UID)" % (columns, placeholders) #change table here
  76. print (sql)
  77. cur2.execute(sql, result.values())
  78. print ("Record inserted")
  79. db2.commit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement