def index(): with db: metrics = Job.aggregate_metrics() return render_template('index.html', nav_tabs=None, metrics=metrics, stories=Story.listing())
def test_aggregate_metrics_companies_count(db_connection): create_job('1', company_link='https://example.com/1', source='juniorguru') create_job('2', company_link='https://example.com/2', source='juniorguru') create_job('3', company_link='https://example.com/2', source='juniorguru') create_job('4', company_link='https://example.com/3', source='xyz') assert Job.aggregate_metrics()['companies_count'] == 2
def jobs(): with db: metrics = dict(**Metric.as_dict(), **Job.aggregate_metrics()) jobs = Job.listing() return render_template('jobs.html', nav_active='jobs', subnav_tabs=JOBS_SUBNAV_TABS, subnav_active='jobs', jobs=jobs, regions=REGIONS, metrics=metrics, thumbnail=thumbnail(title='Práce v\u00a0IT pro začátečníky'))
def job(job_id): with db: metrics = dict(**Metric.as_dict(), **Job.aggregate_metrics()) job = Job.juniorguru_get_by_id(job_id) return render_template('job.html', nav_active='jobs', subnav_tabs=JOBS_SUBNAV_TABS, subnav_active='jobs', job=job, metrics=metrics, thumbnail=thumbnail(job_title=job.title, job_company=job.company_name, job_location=job.location))
def test_aggregate_metrics_companies_count_past_jobs_unique(db_connection): JobDropped.create(type='Expired', item=dict(company_link='https://example.com/company1'), reason='...', response_url='...', source='...') JobDropped.create(type='Expired', item=dict(company_link='https://example.com/company1'), reason='...', response_url='...', source='...') assert Job.aggregate_metrics()['companies_count'] == 1
def jobs_region(region_id): region = [reg for reg in REGIONS if reg['id'] == region_id][0] with db: metrics = dict(**Metric.as_dict(), **Job.aggregate_metrics()) jobs = Job.region_listing(region['name']) return render_template('jobs_region.html', nav_active='jobs', subnav_tabs=JOBS_SUBNAV_TABS, subnav_active='jobs', jobs=jobs, region=region, regions=REGIONS, metrics=metrics, thumbnail=thumbnail(title=f"Práce v\u00a0IT pro začátečníky —\u00a0{region['name']}"))
def define_env(env): with db: env.variables.update(dict( members=ClubUser.avatars_listing(), members_total_count=ClubUser.members_count(), jobs_count=Job.aggregate_metrics()['jobs_count'], )) @env.filter def sample(items, n=2, sample_fn=None): # TODO deduplicate template_filters items = list(items) if len(items) <= n: return items return (sample_fn or random.sample)(items, n)
def test_aggregate_metrics_rejected_jobs_count(db_connection): JobDropped.create(source='juniorguru', type='...', reason='...', response_url='...', item={}) JobDropped.create(source='abc', type='...', reason='...', response_url='...', item={}) JobDropped.create(source='xyz', type='...', reason='...', response_url='...', item={}) assert Job.aggregate_metrics()['rejected_jobs_count'] == 2
def test_aggregate_metrics_approved_jobs_count(db_connection): create_job('1', source='juniorguru') create_job('2', source='abc') create_job('3', source='xyz') assert Job.aggregate_metrics()['approved_jobs_count'] == 2
def test_aggregate_metrics_jobs_count(db_connection): create_job('1') create_job('2') create_job('3') assert Job.aggregate_metrics()['jobs_count'] == 3