diff --git a/RAAspotter.py b/RAAspotter.py index e3132ac0b71facfc4d62870083eb617887640c2b..e58e3957c50a8a7ffed9a8a0ca843550f71be023 100644 --- a/RAAspotter.py +++ b/RAAspotter.py @@ -41,10 +41,9 @@ class RAAspotter: self.sha256 = hashlib.sha256(self.filename.encode('utf-8')).hexdigest() return self.sha256 - def __init__(self, data_dir, user_agent=""): + def __init__(self, data_dir): logger.debug('Initialisation de RAAspotter') - self.user_agent = user_agent self.session = requests.Session() self.data_dir = data_dir self.found = False diff --git a/RAAspotter_ppparis.py b/RAAspotter_ppparis.py index 4a791c3aef5040832a2dc2f58d3a67432c9ed2f7..73cc41178411e86968e9e490598e121ba9b35554 100644 --- a/RAAspotter_ppparis.py +++ b/RAAspotter_ppparis.py @@ -5,7 +5,24 @@ from RAAspotter import RAAspotter class RAAspotter_ppparis(RAAspotter): - def get_raa(self, page_content): + # Config + __RAA_PAGE = 'https://www.prefecturedepolice.interieur.gouv.fr/actualites-et-presse/arretes/accueil-arretes' + __WAIT_ELEMENT = 'block-decree-list-block' + __USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' + + def __init__(self, data_dir): + super().__init__(data_dir) + self.user_agent = self.__USER_AGENT + + def get_raa(self, keywords): + self.print_output('RAAspotter_ppparis') + self.print_output(f'Termes recherchés: {keywords}') + + page_content = self.get_session() + raa_elements = self.get_raa_elements(page_content) + self.parse_raa(raa_elements, keywords.split(',')) + + def get_raa_elements(self, page_content): elements = [] # On charge le parser soup = BeautifulSoup(page_content, 'html.parser') @@ -25,4 +42,7 @@ class RAAspotter_ppparis(RAAspotter): raa = RAAspotter.RAA(url, date, name, filename) elements.append(raa) - return elements \ No newline at end of file + return elements + + def get_session(self): + return super().get_session(self.__RAA_PAGE, self.__WAIT_ELEMENT) diff --git a/ppparis.py b/ppparis.py index f85a7b258dbc001fea57a701d0a8962dd16e6282..945b8533511f13d0eead89453ce0592f278daf76 100755 --- a/ppparis.py +++ b/ppparis.py @@ -6,8 +6,6 @@ from RAAspotter import RAAspotter from RAAspotter_ppparis import RAAspotter_ppparis # Config -__RAA_PAGE = 'https://www.prefecturedepolice.interieur.gouv.fr/actualites-et-presse/arretes/accueil-arretes' -__USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' __KEYWORDS = os.getenv('KEYWORDS') or 'vidéoprotection,caméras,captation,aéronef' __DATA_DIR = os.path.dirname(os.path.abspath(__file__))+'/data/ppparis/' __SMTP_HOSTNAME = os.getenv('SMTP_HOSTNAME') or 'localhost' @@ -79,16 +77,8 @@ if args.email_to: # On crée le dossier de téléchargement os.makedirs(__DATA_DIR, exist_ok=True) -raa_spotter = RAAspotter_ppparis(__DATA_DIR, __USER_AGENT) - -raa_spotter.print_output('RAAspotter_ppparis') -raa_spotter.print_output(f'Termes recherchés: {__KEYWORDS}') - -page_content = raa_spotter.get_session(__RAA_PAGE, "block-decree-list-block") - -raa_elements = raa_spotter.get_raa(page_content) - -raa_spotter.parse_raa(raa_elements, __KEYWORDS.split(',')) +raa_spotter = RAAspotter_ppparis(__DATA_DIR) +raa_spotter.get_raa(__KEYWORDS) if raa_spotter.found == True and __SMTP_HOSTNAME and __SMTP_USERNAME and __SMTP_PASSWORD and __SMTP_PORT and __EMAIL_TO and __EMAIL_FROM: output = open(raa_spotter.output_file_path)