Advertisement
juneba

ProjetoInsert_python

Mar 14th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.07 KB | None | 0 0
  1. import pymysql.cursors
  2. import time
  3. import datetime
  4.  
  5. #definir energia que está sendo inserida
  6. # energia eolica = 18
  7. # energia solar = 5
  8. # Bioenergia = 12
  9.  
  10. tipoEnergia = 18
  11. idPais = 10
  12.  
  13. connection = pymysql.connect(host='localhost',
  14.                              user='root',
  15.                              port=3306,
  16.                              password='admin',
  17.                              db='testeDB',
  18.                              charset='utf8mb4',
  19.                              cursorclass=pymysql.cursors.DictCursor)
  20.  
  21. ts = time.time()
  22. st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
  23. with open('links.txt') as f:
  24.     content = f.read().splitlines()
  25. print (content)
  26. try:
  27.     with connection.cursor() as cursor:
  28.         for word in content:
  29.  
  30.             print("################### INICIO FOR WORD IN CONTENT ############## \n")
  31.             nome = "{\"pt_BR\":\"" + word.split(',')[0] + "\"}"
  32.             nome.replace("(", "").replace(")", "")
  33.             portifolio = "{\"pt_BR\":\"" + '' + "\"}"
  34.  
  35.  
  36.             site = word.split(',')[1]
  37.             busca = nome
  38.  
  39.             #debug
  40.             #print (" nome " , nome , "portifolio", portifolio, "site= ",site, "busca",busca)
  41.             #busca se já existe na tabela provider
  42.  
  43.             nomebusca = word.split( ',')[0]
  44.             sql = "select * from provider where name like %s and status = 'A'"
  45.             cursor.execute(sql,("%" + nomebusca + "%",))
  46.             print("PALAVRA SENDO BUSCADA = ", nomebusca)
  47.             print("->>>> select : ", sql)
  48.  
  49.  
  50.             row = cursor.fetchone()
  51.             print ("resultadoCursor\n\n",row)
  52.  
  53.             if (row is None ): # se não existe inserir ela toda.
  54.  
  55.                 print("\t \nNÃO EXISTE NA BUSCA E O VALOR DA ROW É :: ",row)
  56.                 row = cursor.fetchone()
  57.                 sqlMaxIdBefore = "select max(id) from provider"
  58.                 cursor.execute(sqlMaxIdBefore)
  59.                 row = cursor.fetchone()
  60.                 idProvider = row['max(id)']
  61.                 idProvider = idProvider + 1
  62.                 print(idProvider)
  63.  
  64.                 #st = tempo
  65.                 sql = repr(
  66.                     "INSERT INTO `provider` ( `id`,`name`, `email`, `link`, `portfolio`, `search`, `status`, `created_at`, `updated_at`) VALUES('{}','{}','','{}' ,'{}','{}','A','{}',NULL);").replace(
  67.                     "\"", "").format(idProvider,nome, site, portifolio, busca, st)
  68.                 cursor.execute(sql)
  69.                 connection.commit()
  70.                 #print
  71.                 print (repr(
  72.                     "INSERT INTO `provider` ( `id`,`name`, `email`, `link`, `portfolio`, `search`, `status`, `created_at`, `updated_at`) VALUES('{}','{}','','{}' ,'{}','{}','A','{}',NULL);").replace(
  73.                     "\"", "").format(idProvider,nome, site, portifolio, busca, st) )
  74.                 print ("\n")
  75.                 #cria endereco
  76.  
  77.                 sqlMaxIdBefore = "select max(id) from address"
  78.                 cursor.execute(sqlMaxIdBefore)
  79.                 row = cursor.fetchone()
  80.  
  81.                 idAddress = row['max(id)']
  82.                 idAddress = idAddress + 1
  83.  
  84.                 cidade = ""
  85.                 vizinhaca = ""
  86.                 postal_code = ""
  87.                 address = ""
  88.                 number = ""
  89.                 phone = ""
  90.  
  91.                 sql = "insert into address (id, country_id,city,neighborhood,postal_code,address,number,phone) " \
  92.                       "values(%s, %s, %s, %s, %s, %s, %s, %s)"
  93.                 cursor.execute(sql,(idAddress,idPais,cidade,vizinhaca,postal_code,address,number,phone) )
  94.                 connection.commit()
  95.                 print(sql,"VALUES,",idAddress,idPais,cidade,vizinhaca,postal_code,address,number,phone,"\n\n")
  96.  
  97.                 #Liga id ao endereco
  98.  
  99.                 sql = "insert into provider_address(provider_id,address_id) values (%s,%s)"
  100.                 cursor.execute(sql,(idProvider,idAddress))
  101.                 connection.commit()
  102.  
  103.                 print("provider address\n",sql,"\nValues = ",idProvider,idAddress)
  104.  
  105.                 #liga provedor a energia
  106.                 #energia está definida lá em cima
  107.  
  108.  
  109.                 sql = "insert into provider_energy_type( provider_id, energy_type_id) values(%s,%s)"
  110.                 cursor.execute(sql,(idProvider,tipoEnergia))
  111.                 connection.commit()
  112.  
  113.                 print(sql,"\n Values : ",idProvider,tipoEnergia)
  114.             # já existe o link.
  115.             else:
  116.                 print ("EXISTE NA BUSCA  \n " )
  117.                 idEncontrado = row['id']
  118.  
  119.                 sql = "select * from provider_energy_type where provider_id = %s and energy_type_id = %s"
  120.                 cursor.execute(sql, (idEncontrado,tipoEnergia))
  121.                 row = cursor.fetchone()
  122.  
  123.                 print ("select* from provider energy type....\n",row)
  124.  
  125.                 if (row is None):
  126.                     sql = "insert into provider_energy_type (provider_id,energy_type_id) values (%s,%s)"
  127.                     cursor.execute(sql,(idEncontrado,tipoEnergia))
  128.                     connection.commit()
  129.                     print("inseriu energia")
  130.                 else:
  131.                     print("nao inseriu energia")
  132.                 #para inserir, verifico se já não existe o registro
  133.  
  134.                 sql = "select * from provider_address join address on address.id = provider_address.address_id where provider_id = %s and address.country_id = %s"
  135.                 cursor.execute(sql,(idEncontrado,idPais))
  136.                 row2 = cursor.fetchone()
  137.  
  138.                 if (row2 is None):
  139.                     # cria endereco
  140.  
  141.                     sqlMaxIdBefore = "select max(id) from address"
  142.                     cursor.execute(sqlMaxIdBefore)
  143.                     row = cursor.fetchone()
  144.  
  145.                     idAddress = row['max(id)']
  146.                     idAddress = idAddress + 1
  147.  
  148.                     cidade = ""
  149.                     vizinhaca = ""
  150.                     postal_code = ""
  151.                     address = ""
  152.                     number = ""
  153.                     phone = ""
  154.  
  155.                     sql = "insert into address (id, country_id,city,neighborhood,postal_code,address,number,phone) " \
  156.                           "values(%s, %s, %s, %s, %s, %s, %s, %s)"
  157.                     cursor.execute(sql, (idAddress, idPais, cidade, vizinhaca, postal_code, address, number, phone))
  158.                     connection.commit()
  159.                     print(sql, "VALUES,", idAddress, idPais, cidade, vizinhaca, postal_code, address, number, phone,
  160.                           "\n\n")
  161.  
  162.                     # Liga id ao endereco
  163.  
  164.                     sql = "insert into provider_address(provider_id,address_id) values (%s,%s)"
  165.                     cursor.execute(sql, (idEncontrado, idAddress))
  166.                     connection.commit()
  167.  
  168.                     print("provider address\n", sql, "\nValues = ", idEncontrado, idAddress)
  169.                 else:
  170.                     print ("nao inseriu pais")
  171.  
  172.  
  173.         print("################### FIM FOR WORD IN CONTENT ############## \n\n")
  174. finally:
  175.     connection.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement