Exemplo n.º 1
0
def jobs():


    if (int(curr_project()) > 0):
        form = job_form()
        job_t_form = job_test_form()

        def_city= ('0', 'Select City')
        form.city.choices = [def_city] + [(r.city, r.city) for r in db.session.query(scrape_task)]
        project_curr = db.session.query(Project).filter_by(id = int(curr_project())).first()
        form_group_job = job_group_form()
        form_group_job.temp_select.choices =[(r.name, r.name) for r in project_curr.template]

        # TODO create group contact assoc table for sending jobs to group
        form_group_job.group_select.choices =[(r.name, r.name) for r in db.session.query(template)]

        form.keyword.choices= [(r.keyword, r.keyword) for r in db.session.query(scrape_task.keyword).distinct(scrape_task.keyword)]
        form.campaign.choices= [(r.name, r.name) for r in project_curr.template]
        job_list = project_curr.jobs
        if form.validate_on_submit():
            city= form.city.data
            keyword= form.keyword.data
            provider = "Whatsapp"
            campaign = db.session.query(template).filter_by(name = form.campaign.data).first()

            # Check if the city and keyword already exsists ?
            check_one = db.session.query(job_task).filter_by(city = city, provider = provider, keyword = keyword).first()
            if check_one is None:
                new_job= job_task(city = city, provider = provider, status = str(0), meta = str(1), keyword = keyword, template = campaign ,project_jo = project_curr ,job_test_form =job_t_form)
                project_curr.jobs.append(new_job)
                db.session.add(new_job)
                db.session.commit()
                session['mssg'] = " 👍 Job added to list."
                return redirect('/jobs')
            else:
                session['mssg'] = " 🙃 Job already exsists. You can re-run the job from the list below , or run a new job with different parameters."
                return redirect('/jobs')
        else:
            logging.error( 'Job Form submission error : '+   str(form.errors))
            return render_template('jobs.html', form= form, job_list = job_list, mssg = session['mssg'] , user_projects = get_projects() , form_group_job = form_group_job , job_test_form= job_t_form), 200
    
        if job_t_form.validate_on_submit():
            pass
        else:
            logging.error( 'Job Form submission error : '+   str(job_t_form.errors))
            return render_template('jobs.html', form= form, job_list = job_list, mssg = session['mssg'] , user_projects = get_projects() , form_group_job = form_group_job , job_test_form= job_test_form), 200

    else:
        session['mssg'] = "No project selected . Redirecting to Projects page."
        return redirect('projects')
Exemplo n.º 2
0
def jobs():
    form = job_form()
    def_city = ('0', 'Select City')

    form.city.choices = [def_city] + [(r.city, r.city)
                                      for r in db.session.query(scrape_task)]

    form.keyword.choices = [(r.keyword, r.keyword) for r in db.session.query(
        scrape_task.keyword).distinct(scrape_task.keyword)]
    form.campaign.choices = [(r.name, r.name)
                             for r in db.session.query(template)]

    job_list = db.session.query(job_task).all()
    if form.validate_on_submit():
        city = form.city.data
        keyword = form.keyword.data
        provider = "Whatsapp"
        # Check if the city and keyword already exsists ?
        check_one = db.session.query(job_task).filter_by(
            city=city, provider=provider, keyword=keyword).first()
        if check_one is None:
            new_job = job_task(city=city,
                               provider=provider,
                               status=str(0),
                               meta=str(''),
                               keyword=keyword)
            db.session.add(new_job)
            db.session.commit()
            session['mssg'] = " 👍 Job added to list."
            return redirect('/jobs')
        else:
            session[
                'mssg'] = " 🙃 Job already exsists. You can re-run the job from the list below , or run a new job with different parameters."
            return redirect('/jobs')
    else:
        print(form.errors)
    return render_template('jobs.html',
                           form=form,
                           job_list=job_list,
                           mssg=session['mssg']), 200