Spaces:
Sleeping
Sleeping
File size: 1,897 Bytes
c4d6e1d e224aa9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
from sqlalchemy import create_engine, Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class Candidate(Base):
__tablename__ = 'candidates'
id = Column(Integer, primary_key=True)
unique_id = Column(String, unique=True)
name = Column(String)
location = Column(String)
experience = Column(String)
education = Column(String)
skills = Column(String)
class Job(Base):
__tablename__ = 'jobs'
id = Column(Integer, primary_key=True)
unique_id = Column(String, unique=True)
title = Column(String)
description = Column(String)
DATABASE_URL = "sqlite:////tmp/ats_demo.db"
engine = create_engine(DATABASE_URL, echo=False)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
def save_candidate(parsed_data, unique_id):
candidate = Candidate(
unique_id=unique_id,
name=parsed_data.get("name"),
location=parsed_data.get("location"),
experience=parsed_data.get("experience"),
education=parsed_data.get("education"),
skills=parsed_data.get("skills")
)
session.add(candidate)
session.commit()
def save_job(job_title, job_description, unique_id):
job = Job(
unique_id=unique_id,
title=job_title,
description=job_description
)
session.add(job)
session.commit()
def delete_candidate(unique_id):
candidate = session.query(Candidate).filter_by(unique_id=unique_id).first()
if candidate:
session.delete(candidate)
session.commit()
return True
return False
def delete_job(unique_id):
job = session.query(Job).filter_by(unique_id=unique_id).first()
if job:
session.delete(job)
session.commit()
return True
return False
|