diff --git a/src/main.py b/src/main.py index 3f90bfe..ead7e37 100644 --- a/src/main.py +++ b/src/main.py @@ -1,12 +1,11 @@ import os -from pymongo import MongoClient from telegram import Update from telegram.ext import Application, CommandHandler, CallbackQueryHandler from jobspy.scrapers.site import Site from jobspy.scrapers.utils import create_logger -from telegram_handler import TelegramIndeedHandler, TelegramDefaultHandler +from telegram_handler import TelegramDefaultHandler from telegram_handler.button_callback.telegram_callback_handler import TelegramCallHandler logger = create_logger("Main") @@ -50,9 +49,10 @@ if __name__ == "__main__": application.add_handler(CommandHandler( Site.LINKEDIN.value, tg_handler_linkedin.handle)) # Indeed - tg_handler_indeed = TelegramIndeedHandler(locations=locations, - title_filters=title_filters, - search_term=search_term) + tg_handler_indeed = TelegramDefaultHandler(sites=[Site.INDEED], + locations=locations, + title_filters=title_filters, + search_term=search_term) application.add_handler(CommandHandler( Site.INDEED.value, tg_handler_indeed.handle)) application.add_handler(CallbackQueryHandler( diff --git a/src/telegram_handler/telegram_default_handler.py b/src/telegram_handler/telegram_default_handler.py index 0fab146..074631e 100644 --- a/src/telegram_handler/telegram_default_handler.py +++ b/src/telegram_handler/telegram_default_handler.py @@ -60,7 +60,8 @@ class TelegramDefaultHandler(TelegramHandler): locations=self.locations, results_wanted=200, hours_old=48, - filter_by_title=self.title_filters + filter_by_title=self.title_filters, + country_indeed = 'israel' ) self.logger.info(f"Found {len(jobs)} jobs") self.jobRepository.insert_many_if_not_found(filtered_out_jobs) diff --git a/src/telegram_handler/telegram_indeed_handler.py b/src/telegram_handler/telegram_indeed_handler.py deleted file mode 100644 index 79ad52a..0000000 --- a/src/telegram_handler/telegram_indeed_handler.py +++ /dev/null @@ -1,39 +0,0 @@ -from telegram import Update -from telegram.ext import ( - ContextTypes, -) - -from db.job_repository import JobRepository -from jobspy import Site, scrape_jobs -from jobspy.scrapers.utils import create_logger -from telegram_bot import TelegramBot -from telegram_handler.telegram_handler import TelegramHandler - - -class TelegramIndeedHandler(TelegramHandler): - def __init__(self, locations: list[str], title_filters: list[str], search_term: str): - self.sites_to_scrap = [Site.INDEED] - self.locations = locations - self.search_term = search_term - self.title_filters = title_filters - self.telegramBot = TelegramBot() - self.jobRepository = JobRepository() - self.logger = create_logger( - f"Telegram{self.sites_to_scrap[0].name.title()}Handler") - - async def handle(self, update: Update, context: ContextTypes.DEFAULT_TYPE): - self.logger.info("start handling") - filtered_out_jobs, jobs = scrape_jobs( - site_name=self.sites_to_scrap, - search_term=self.search_term, - locations=self.locations, - results_wanted=200, - hours_old=48, - country_indeed='israel', - filter_by_title=self.title_filters - ) - self.logger.info(f"Found {len(jobs)} jobs") - new_jobs = self.jobRepository.insert_many_if_not_found(jobs) - for newJob in new_jobs: - await self.telegramBot.send_job(newJob) - self.logger.info("finished handling")