Compare commits

...

10 commits

Author SHA1 Message Date
Pablo Martin
d6f4de006e Merge branch 'release/0.1.1' into 'master'
Release/0.1.1

See merge request pablomartincalvo/Drogon!5
2021-01-09 16:52:30 +00:00
Pablo Martin
a0d11dcdd6 Merge branch 'fix/capturer_broken_imports' into 'integration'
Added sys.path trickery to make imports work again when executing out of Pycharm.

See merge request pablomartincalvo/Drogon!4
2021-01-09 16:49:28 +00:00
pablo
c7ddbb035f Added sys.path trickery to make imports work again when executing out of Pycharm. 2021-01-09 17:48:24 +01:00
Pablo Martin
744a0a38d4 Merge branch 'release/0.1.0' into 'master'
Release/0.1.0

See merge request pablomartincalvo/Drogon!3
2021-01-06 09:45:45 +00:00
pablo
575dadaaff More logging. 2021-01-06 10:45:03 +01:00
pablo
5e023edb00 Added a few logging points. 2021-01-06 10:43:16 +01:00
pablo
f10b62bfd2 Reversed condition. 2021-01-06 10:40:07 +01:00
pablo
50a56091b9 Added missing logger import. 2021-01-06 10:38:30 +01:00
Pablo Martin
3740ab2ada Merge branch 'fix/dead_ad_string' into 'integration'
Fix/dead ad string

See merge request pablomartincalvo/Drogon!2
2021-01-04 21:29:52 +00:00
pablo
639de7c602 Change strings to look for in HTML. Chores. 2021-01-04 22:29:01 +01:00
2 changed files with 22 additions and 16 deletions

View file

@ -1,3 +1,6 @@
import sys
sys.path.append("..")
from time import sleep
import datetime
@ -13,6 +16,7 @@ from core.throttling_utils import (
)
from refresher.refresher import Refresher
from core.parsing_utils import *
from core import my_logger
import logging
@ -83,12 +87,11 @@ class Capturer:
self.last_try_datetime = datetime.datetime.now()
task.capture()
if task.status == "Data ready":
ad_data = task.get_ad_data()
else:
if not task.status == "Data ready":
logging.warning("Something went wrong, not adding data.")
continue
ad_data = task.get_ad_data()
self._capturas_interface.insert_captura(ad_data)
task.update_status("Captura inserted")
logging.info("New ad inserted.")
@ -154,18 +157,22 @@ class CapturingTask:
attack.attack()
if attack.success:
logging.info("URL attack successful.")
self._parse_html(html=attack.get_text())
return
if not attack.success:
logging.info("URL attack failed.")
try:
if self._is_dead_ad(attack.get_text()):
self.update_status("Dead ad")
logging.info("Ad was tagged as dead.")
return
except AttributeError:
logging.error(
"Something went wrong when checking if the ad is gone"
)
logging.error(AttributeError)
self.update_status("Fail {}".format(self.request_failures))
self.request_failures += 1

View file

@ -1,16 +1,18 @@
import sys
sys.path.append("..")
import logging
from time import sleep
from core.config import refresher_delay
from db_layer.capturas_interface import capturas_interface
from db_layer.capturing_tasks_interface import capturing_interface
from core.config import refresher_delay
from core import my_logger
import logging
class Refresher:
def start(self):
@staticmethod
def start() -> None:
"""
Execute main flow.
:return: None
"""
while True:
sleep(refresher_delay)
@ -28,13 +30,10 @@ class Refresher:
:param html: HTML del anuncio en string.
:return: True si esta dado de baja, False si no.
"""
try:
if ":-|" in html or "El anunciante lo dio de baja" in html:
if "anunciante" in html and "baja" in html:
return True
else:
return False
except TypeError:
return False
if __name__ == "__main__":