mirror of https://github.com/Bunsly/JobSpy
parent
72278ff98e
commit
e2f4f56e31
16
src/main.py
16
src/main.py
|
@ -15,28 +15,12 @@ title_filters: list[str] = ["test", "qa", "Lead", "Full-Stack", "Full Stack", "F
|
|||
"automation", "BI ", "Principal", "Architect", "Android", "Machine Learning", "Student",
|
||||
"Data Engineer", "DevSecOps"]
|
||||
|
||||
def connect_db():
|
||||
logger = create_logger("Mongo Client")
|
||||
mongoUri = os.getenv("MONGO_URI")
|
||||
if not mongoUri:
|
||||
logger.error("MONGO_URI environment variable is not set")
|
||||
raise ValueError("MONGO_URI environment variable is not set")
|
||||
client = MongoClient(mongoUri)
|
||||
database_name = os.getenv("MONGO_DB_NAME")
|
||||
if not database_name:
|
||||
logger.error("MONGO_DB_NAME environment variable is not set")
|
||||
raise ValueError(
|
||||
"MONGO_DB_NAME environment variable is not set")
|
||||
|
||||
return client[database_name]
|
||||
|
||||
if __name__ == "__main__":
|
||||
logger.info("Starting initialize ")
|
||||
_api_token = os.getenv("TELEGRAM_API_TOKEN")
|
||||
search_term = "software engineer"
|
||||
locations = ["Tel Aviv, Israel", "Ramat Gan, Israel",
|
||||
"Central, Israel", "Rehovot ,Israel"]
|
||||
db = connect_db()
|
||||
application = Application.builder().token(_api_token).build()
|
||||
tg_callback_handler = TelegramCallHandler()
|
||||
tg_handler_all = TelegramDefaultHandler(sites=[Site.LINKEDIN, Site.GLASSDOOR, Site.INDEED, Site.GOOZALI],
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
from telegram import MaybeInaccessibleMessage
|
||||
from telegram.constants import ReactionEmoji
|
||||
|
||||
from telegram_bot import TelegramBot
|
||||
from telegram_handler.button_callback.button_strategy import ButtonStrategy
|
||||
|
||||
|
||||
class PooStrategy(ButtonStrategy):
|
||||
def __init__(self, data: MaybeInaccessibleMessage) -> None:
|
||||
def __init__(self, message: MaybeInaccessibleMessage) -> None:
|
||||
"""
|
||||
Usually, the Context accepts a strategy through the constructor, but
|
||||
also provides a setter to change it at runtime.
|
||||
"""
|
||||
self.data = data
|
||||
self.message = message
|
||||
self._emoji = ReactionEmoji.PILE_OF_POO
|
||||
self.telegram_bot = TelegramBot()
|
||||
|
||||
async def execute(self):
|
||||
pass
|
||||
await self.telegram_bot.set_message_reaction(self.message.message_id, self._emoji)
|
||||
|
||||
|
|
|
@ -27,10 +27,11 @@ class TelegramDefaultHandler(TelegramHandler):
|
|||
|
||||
async def handle(self, update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||
self.logger.info("start handling")
|
||||
await self.telegram_bot.send_text(
|
||||
f"Start scarping: {self.sites_to_scrap[0].name}")
|
||||
await self.telegram_bot.set_message_reaction(
|
||||
update.message.message_id, ReactionEmoji.FIRE)
|
||||
site_names = [site.name for site in self.sites_to_scrap]
|
||||
await self.telegram_bot.send_text(
|
||||
f"Start scarping: {", ".join(site_names)}")
|
||||
jobs = scrape_jobs(
|
||||
site_name=self.sites_to_scrap,
|
||||
search_term=self.search_term,
|
||||
|
|
Loading…
Reference in New Issue