Advertisement
Guest User

Untitled

a guest
May 10th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from SimpleXMLRPCServer import SimpleXMLRPCServer
  3. import os
  4. import sys
  5. import subprocess
  6. import string
  7. import xmlrpclib
  8. import psycopg2
  9. import sys
  10. import base64
  11.  
  12.  
  13. HOST='192.168.1.203'
  14. PORT=8069
  15. DB='drm2_copy'
  16. USER='admin'
  17. PASS='derimaya@2015'
  18.  
  19. class XmlRpc:
  20.  
  21. def __init__(self, HOST, PORT, DB, USER, PASS):
  22. self.url='http://%s:%d/xmlrpc/' % (HOST,PORT)
  23. self.DB=DB
  24. self.USER=USER
  25. self.PASS=PASS
  26. self.common_proxy = xmlrpclib.ServerProxy(self.url+'common')
  27. self.object_proxy = xmlrpclib.ServerProxy(self.url+'object', allow_none=True)
  28. self.uid=self.login()
  29.  
  30.  
  31.  
  32. def execute(self, *args):
  33. return self.object_proxy.execute(self.DB,self.uid,self.PASS,*args)
  34.  
  35. def login(self):
  36. uid = self.common_proxy.login(self.DB, self.USER, self.PASS)
  37. return uid
  38.  
  39.  
  40. # xmlrpc = XmlRpc(HOST, PORT, DB, USER, PASS)
  41. # print "login id ", xmlrpc.uid
  42.  
  43.  
  44. class Postgres:
  45. def __init__(self, host, db, user, password):
  46. self.host = host
  47. self.db = db
  48. self.user = user
  49. self.password = password
  50.  
  51. def connect(self):
  52. try:
  53. conn_string = "host='%s' dbname='%s' user='%s' password='%s'" %(self.host, self.db, self.user, self.password)
  54. conn = psycopg2.connect(conn_string)
  55. return conn
  56. except:
  57. print "Error en la conexión:", sys.exc_info()[0]
  58. raise
  59.  
  60. def execute_query(self, con, query):
  61. try:
  62. cursor = con.cursor()
  63. cursor.execute(query)
  64. records = cursor.fetchall()
  65. return records
  66. except:
  67. print "Error en la obtencion de los fields:", sys.exc_info()[0]
  68. raise
  69.  
  70. postgres = Postgres("localhost", "drm2_copy", "odoo", "50p0r73")
  71. con = postgres.connect()
  72.  
  73. # select customer_id from derimaya_lot_customer_rel where lot_id = 1
  74.  
  75. # select id from derimaya_verification_step where lot_id=1
  76.  
  77. # select id,customer_id from derimaya_verification_lot_customer_rel where step_id = 11072
  78.  
  79. lots=[]
  80. query = "select id,name from derimaya_lot"
  81.  
  82. data = postgres.execute_query(con, query)
  83. coount = 0
  84. for d in data:
  85. temp={}
  86. temp['lot_id'] = d[0]
  87. temp['name'] = d[1]
  88. lots.append(temp)
  89.  
  90. for lot_id in lots:
  91.  
  92. lot = lot_id['lot_id']
  93.  
  94. query = "select customer_id from derimaya_lot_customer_rel where lot_id = %s and create_date != '2015-06-02 16:31:57.873907' "%(lot)
  95. data = postgres.execute_query(con, query)
  96. current=[]
  97. for d in data:
  98. current.append(d[0])
  99.  
  100. query = "select id from derimaya_verification_step where lot_id= %s"%( lot )
  101. data = postgres.execute_query(con, query)
  102. ver=[]
  103. for d in data:
  104. ver.append(d[0])
  105. if len(ver)<1:
  106. #print "no tiene Verificaciones"
  107. data=[]
  108. else:
  109. ver= str(ver)
  110. ver= ver.replace('[','(')
  111. ver= ver.replace(']',')')
  112. query = "select id,customer_id,step_id from derimaya_verification_lot_customer_rel where step_id in %s"%(ver)
  113. data = postgres.execute_query(con, query)
  114.  
  115. regus=[]
  116. for d in data:
  117. regus.append(d[1])
  118.  
  119. for cur in current:
  120. if cur in regus:
  121. pass
  122. else:
  123. query = "select last_date,customer_id from derimaya_lot_customer_rel where customer_id = %s"%(cur)
  124. data1 = postgres.execute_query(con, query)
  125. query="select second_surname,first_name from derimaya_verification_customer where id = %s"%(data1[0][1])
  126. data2 = postgres.execute_query(con, query)
  127.  
  128. print "Lote %s id %s de regularizante no encontrado fecha %s nombre %s %s"%(lot_id['name'],cur,data1[0][0],data2[0][0],data2[0][1])
  129. coount +=1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement