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()
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)
def job(job_slug): job = jobops.get_job(job_slug) return render_template('items.html', data=[], job_name=job.name, job_slug=job.slug)