From 8f5a120096e0259fb220069f1cc6c7fb90be88de Mon Sep 17 00:00:00 2001 From: pablomartincalvo Date: Sun, 14 Oct 2018 19:24:17 +0200 Subject: [PATCH] Iniciado refresher. --- .idea/workspace.xml | 189 +++++++++++++++++++++------------ capturer/capturer.py | 3 +- db_layer/capturas_interface.py | 11 ++ refresher/refresher.py | 30 ++++++ 4 files changed, 164 insertions(+), 69 deletions(-) create mode 100644 refresher/refresher.py diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 832f210..6fa0537 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,11 +1,11 @@ - + + - - + + + @@ -219,7 +256,7 @@ - + @@ -497,14 +534,14 @@ - + - + @@ -658,9 +695,6 @@ - - - @@ -736,25 +770,11 @@ - + - - - - - - - - - - - - - - @@ -769,9 +789,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -779,27 +823,36 @@ - + - - + + + + + + + + - + - - + + - + + + + - - + + diff --git a/capturer/capturer.py b/capturer/capturer.py index 480f370..4017701 100644 --- a/capturer/capturer.py +++ b/capturer/capturer.py @@ -7,7 +7,7 @@ import datetime from db_layer.capturing_tasks_interface import capturing_interface from db_layer.capturas_interface import capturas_interface from core.scrapping_utils import UrlAttack - +from refresher.refresher import Refresher class Capturer: sleep_time_no_work = 60 @@ -30,6 +30,7 @@ class Capturer: if task.status == 'Data ready': ad_data = task.get_ad_data() else: + Refresher.dead_ad_checker(task.html) continue capturas_interface.insert_captura(ad_data) diff --git a/db_layer/capturas_interface.py b/db_layer/capturas_interface.py index 45d336a..6fcdb2b 100644 --- a/db_layer/capturas_interface.py +++ b/db_layer/capturas_interface.py @@ -20,6 +20,17 @@ class CapturasInterface(): self.anunciosdb.query(query_statement, query_parameters) + def old_ads_exist(self): + #TODO Mira si hay algun anuncio que este viejete y necesite refresco + + def get_old_ad(self): + #TODO Recuperar anuncio que este viejete y que necesite refresco + + def mark_dead_ad(self, referencia): + #TODO Marca un anuncio como muerto + + + capturas_interface = CapturasInterface() diff --git a/refresher/refresher.py b/refresher/refresher.py new file mode 100644 index 0000000..a976adb --- /dev/null +++ b/refresher/refresher.py @@ -0,0 +1,30 @@ +from time import sleep +from db_layer.capturas_interface import capturas_interface +from db_layer.capturing_tasks_interface import capturing_interface + +class Refresher: + + def start(self): + + while True: + sleep(30) + + if capturas_interface.old_ads_exist(): + old_ad = capturas_interface.get_old_ad() + capturing_interface.create_capturing_task(old_ad['referencia']) + + + def dead_ad_checker(self, html): + #TODO Comprueba si el anuncio esta muerto y, si es asi, lo marca en la tabla de capturas + + + if blabla: + capturas_interface.mark_dead_ad(referencia) + + + + + + + +