diff --git a/app.py b/app.py index b0867fc..ea8ea93 100644 --- a/app.py +++ b/app.py @@ -1,10 +1,13 @@ from flask import Flask from flask import render_template -from forms import SearchForm +from flask.ext.elasticsearch import FlaskElasticsearch + +from forms import SearchForm, AddForm app = Flask(__name__) +es = FlaskElasticsearch(app) app.config['DEBUG'] = True app.config['SECRET_KEY'] = 'super_secret_key' @@ -20,9 +23,22 @@ def search(): return render_template('search.html', form=form) -@app.route("/add/") +@app.route("/add/", methods=['GET', 'POST']) def add(): - return "Add" + form = AddForm() + if form.validate_on_submit(): + data = { + 'name': form.name.data, + 'key': form.key.data, + 'value': form.value.data, + } + response = es.index(index='resistor', doc_type='component', + body=data) + if not response['created']: + return 'Error' + else: + return 'Success' + return render_template('add.html', form=form) if __name__ == "__main__": diff --git a/forms.py b/forms.py index b05b9cd..8c37801 100644 --- a/forms.py +++ b/forms.py @@ -5,3 +5,10 @@ class SearchForm(Form): search = TextField('Search', [validators.InputRequired()]) + + +class AddForm(Form): + name = TextField('Name', [validators.InputRequired()]) + key = TextField('Key', [validators.InputRequired()]) + value = TextField('Value', [validators.InputRequired()]) + diff --git a/templates/add.html b/templates/add.html new file mode 100644 index 0000000..578949b --- /dev/null +++ b/templates/add.html @@ -0,0 +1,19 @@ +{% block body %} +
+

Add

+
+
+
+ {{ form.name(class="form-control", placeholder="Name") }} +
+
+ {{ form.key(class="form-control", placeholder="Key") }} + {{ form.value(class="form-control", placeholder="Value") }} + + + +
+ {{ form.csrf_token }} + +
+{% endblock %}