removed indeed handler and used the default

pull/231/head
Yariv Menachem 2024-12-31 18:12:37 +02:00
parent 005d504538
commit 38df40f0f6
3 changed files with 7 additions and 45 deletions

View File

@ -1,12 +1,11 @@
import os import os
from pymongo import MongoClient
from telegram import Update from telegram import Update
from telegram.ext import Application, CommandHandler, CallbackQueryHandler from telegram.ext import Application, CommandHandler, CallbackQueryHandler
from jobspy.scrapers.site import Site from jobspy.scrapers.site import Site
from jobspy.scrapers.utils import create_logger 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 from telegram_handler.button_callback.telegram_callback_handler import TelegramCallHandler
logger = create_logger("Main") logger = create_logger("Main")
@ -50,7 +49,8 @@ if __name__ == "__main__":
application.add_handler(CommandHandler( application.add_handler(CommandHandler(
Site.LINKEDIN.value, tg_handler_linkedin.handle)) Site.LINKEDIN.value, tg_handler_linkedin.handle))
# Indeed # Indeed
tg_handler_indeed = TelegramIndeedHandler(locations=locations, tg_handler_indeed = TelegramDefaultHandler(sites=[Site.INDEED],
locations=locations,
title_filters=title_filters, title_filters=title_filters,
search_term=search_term) search_term=search_term)
application.add_handler(CommandHandler( application.add_handler(CommandHandler(

View File

@ -60,7 +60,8 @@ class TelegramDefaultHandler(TelegramHandler):
locations=self.locations, locations=self.locations,
results_wanted=200, results_wanted=200,
hours_old=48, 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.logger.info(f"Found {len(jobs)} jobs")
self.jobRepository.insert_many_if_not_found(filtered_out_jobs) self.jobRepository.insert_many_if_not_found(filtered_out_jobs)

View File

@ -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")