Mercurial > farol > farol
comparison 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 |
comparison
equal
deleted
inserted
replaced
7:8f41bb7f4681 | 8:2ce3676c9b2e |
---|---|
85 | 85 |
86 @app.route('/') | 86 @app.route('/') |
87 def welcome(): | 87 def welcome(): |
88 return render_template('welcome.j2') | 88 return render_template('welcome.j2') |
89 | 89 |
90 def parse_url(url): | |
91 set_current(parse(urlopen(url).read())) | |
92 | |
90 @app.route('/new', methods=['GET', 'POST']) | 93 @app.route('/new', methods=['GET', 'POST']) |
91 def new(): | 94 def new(): |
92 if request.method != 'POST': | 95 if request.method != 'POST': |
93 return render_template('new.j2', has_document=has_current(), now=utcnow()) | 96 return render_template('new.j2', has_document=has_current(), now=utcnow()) |
94 | 97 url = None |
95 if 'url' in request.form: | 98 if 'rhsa' in request.form: |
96 set_current(parse(urlopen(request.form['url']).read())) | 99 year, index = request.form['id'].split(':') |
100 parse_url("https://www.redhat.com/security/data/cvrf/%(year)s/cvrf-rhsa-%(year)s-%(index)s.xml" % {'year': year, 'index': index}) | |
101 elif 'oracle' in request.form: | |
102 parse_url("http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/%s.xml" % request.form['id']) | |
103 elif 'cisco' in request.form: | |
104 kind, date, name = request.form['id'].split('-', 3) | |
105 kind = {'sa': 'Advisory', 'sr': 'Response'}[kind] | |
106 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']}) | |
107 elif 'nasl' in request.form: | |
108 flash("I'm not able to parse NASL scripts yet", 'danger') | |
109 return redirect(url_for('new')) | |
110 elif 'url' in request.form: | |
111 parse_url(request.form['url']) | |
97 elif 'local' in request.files: | 112 elif 'local' in request.files: |
98 upload = request.files['local'] | 113 upload = request.files['local'] |
99 if not upload.filename.endswith('.xml'): | 114 if not upload.filename.endswith('.xml'): |
100 flash('Uploaded files should end in .xml', 'danger') | 115 flash('Uploaded files should end in .xml', 'danger') |
101 return redirect(url_for('new')) | 116 return redirect(url_for('new')) |