Mercurial > farol > farol
diff farol/main.py @ 8:2ce3676c9b2e
Ease the import of new documents
author | Benoît Allard <benoit.allard@greenbone.net> |
---|---|
date | Thu, 25 Sep 2014 17:49:43 +0200 |
parents | 8f41bb7f4681 |
children | 5b84a2c4f30c |
line wrap: on
line diff
--- a/farol/main.py Thu Sep 25 17:03:35 2014 +0200 +++ b/farol/main.py Thu Sep 25 17:49:43 2014 +0200 @@ -87,13 +87,28 @@ def welcome(): return render_template('welcome.j2') +def parse_url(url): + set_current(parse(urlopen(url).read())) + @app.route('/new', methods=['GET', 'POST']) def new(): if request.method != 'POST': return render_template('new.j2', has_document=has_current(), now=utcnow()) - - if 'url' in request.form: - set_current(parse(urlopen(request.form['url']).read())) + url = None + if 'rhsa' in request.form: + year, index = request.form['id'].split(':') + parse_url("https://www.redhat.com/security/data/cvrf/%(year)s/cvrf-rhsa-%(year)s-%(index)s.xml" % {'year': year, 'index': index}) + elif 'oracle' in request.form: + parse_url("http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/%s.xml" % request.form['id']) + elif 'cisco' in request.form: + kind, date, name = request.form['id'].split('-', 3) + kind = {'sa': 'Advisory', 'sr': 'Response'}[kind] + parse_url("http://tools.cisco.com/security/center/contentxml/CiscoSecurity%(kind)s/cisco-%(id)s/cvrf/cisco-%(id)s_cvrf.xml" % {'kind': kind, 'id': request.form['id']}) + elif 'nasl' in request.form: + flash("I'm not able to parse NASL scripts yet", 'danger') + return redirect(url_for('new')) + elif 'url' in request.form: + parse_url(request.form['url']) elif 'local' in request.files: upload = request.files['local'] if not upload.filename.endswith('.xml'):