64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
from core.mysql_wrapper import get_anunciosdb
|
|
|
|
|
|
class CapturasInterface():
|
|
|
|
def __init__(self):
|
|
|
|
self.anunciosdb = get_anunciosdb()
|
|
|
|
def insert_captura(self, ad_data):
|
|
|
|
columns = ', '.join(ad_data.keys())
|
|
placeholders_string = ', '.join(['%s'] * len(ad_data))
|
|
|
|
query_statement = """ INSERT INTO capturas
|
|
( fecha_captura, {} )
|
|
VALUES( NOW(), {} )""".format(columns, placeholders_string)
|
|
|
|
query_parameters = tuple([v for v in ad_data.values()])
|
|
|
|
self.anunciosdb.query(query_statement, query_parameters)
|
|
|
|
def old_ads_exist(self):
|
|
query_statement = """
|
|
SELECT uc.referencia
|
|
FROM anuncios.ultima_captura_full as uc
|
|
LEFT JOIN (SELECT cl.ad_url as ad_url
|
|
FROM tasks.capturing_last as cl
|
|
WHERE cl.status = 'Dead ad') as da
|
|
ON da.ad_url LIKE CONCAT('%', uc.referencia, '%')
|
|
WHERE uc.fecha_captura < (NOW() - INTERVAL 10 day)
|
|
AND da.ad_url is null
|
|
"""
|
|
|
|
cursor_result = self.anunciosdb.query(query_statement)
|
|
resultados = cursor_result.fetchall()
|
|
if resultados:
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
def get_old_ad(self):
|
|
query_statement = """
|
|
SELECT uc.referencia
|
|
FROM anuncios.ultima_captura_full as uc
|
|
LEFT JOIN (SELECT cl.ad_url as ad_url
|
|
FROM tasks.capturing_last as cl
|
|
WHERE cl.status = 'Dead ad') as da
|
|
ON da.ad_url LIKE CONCAT('%', uc.referencia, '%')
|
|
WHERE uc.fecha_captura < (NOW() - INTERVAL 10 day)
|
|
AND da.ad_url is null
|
|
ORDER BY RAND()
|
|
LIMIT 1
|
|
"""
|
|
cursor_result = self.anunciosdb.query(query_statement, dictionary=True)
|
|
try:
|
|
return cursor_result.fetchone()
|
|
except:
|
|
return None
|
|
|
|
|
|
capturas_interface = CapturasInterface()
|
|
|
|
|