Esempio n. 1
0
def job_feed(job_slug,time=None):
    job = jobops.get_job(job_slug)
    feed = GeoAtomFeed(job.name, feed_url=request.url, url=request.url_root )
    articles = get_data(job_slug, time)
    for article in articles:
        if len(article['coordinate_string']) > 0:
            lat_lon = [str(article['coordinates']['lat']), str(article['coordinates']['lon'])]
        else:
            lat_lon = None

        feed.add(article['data'][:10] + '...', unicode(article['data']),
            content_type='html',
            author=article['source'] + '/' + article['creator'],
            id=article['id'],
            url='',
            updated=article['time'],
            published=article['time'],
            lat_lon=lat_lon)
    Response.content_type = 'application/atom+xml; charset=utf-8'
    return feed.get_response()
Esempio n. 2
0
def edit(job_slug = None):
    if request.method == 'POST':

        if request_wants_json():
            job = json.dumps(request.json)
        else:
            job = jobops.convert_form_to_job(request.form)

        message = jobops.validate_job(job)

        if message is None:
            if job_slug is None:
                job['slug'] = slugify(job['name'],jobops.get_job_keys())
            else:
                job['slug'] = job_slug
            jobops.save_job(job)

            if request_wants_json():
                return "OK"
            else:
                return redirect(url_for('index'))
        else:
            return message


    else:
        sources = list_plugins()
        if job_slug:
            job = jobops.get_job(job_slug)
            if job:
                job.time = datetime.datetime.fromtimestamp(job.time).strftime(DATE_FORMAT)
                job.tags = ','.join(job.tags)

            return render_template('edit.html', sources=sources, job=job)
        else:
            return render_template('edit.html', sources=sources, job=None)
Esempio n. 3
0
def job(job_slug):
    job = jobops.get_job(job_slug)
    return render_template('items.html', data=[], job_name=job.name, job_slug=job.slug)