Beispiel #1
0
def index():
    with db:
        metrics = Job.aggregate_metrics()
    return render_template('index.html',
                           nav_tabs=None,
                           metrics=metrics,
                           stories=Story.listing())
Beispiel #2
0
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
Beispiel #3
0
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'))
Beispiel #4
0
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))
Beispiel #5
0
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
Beispiel #6
0
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']}"))
Beispiel #7
0
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)
Beispiel #8
0
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
Beispiel #9
0
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
Beispiel #10
0
def test_aggregate_metrics_jobs_count(db_connection):
    create_job('1')
    create_job('2')
    create_job('3')

    assert Job.aggregate_metrics()['jobs_count'] == 3