From 7e878f6fe10c1fc88d8cedea493d780d44e5fbd0 Mon Sep 17 00:00:00 2001 From: Andros Fenollosa Date: Sat, 17 Sep 2016 12:21:42 +0200 Subject: [PATCH] Initial commit --- README.org | 127 +++++++++ sketching/HTML/Resources/SampleStyle.css | 7 + sketching/HTML/index.html | 1 + sketching/HTML/pages/dashboard.png | Bin 0 -> 29073 bytes sketching/HTML/pages/delete.png | Bin 0 -> 15921 bytes sketching/HTML/pages/edit.png | Bin 0 -> 15689 bytes sketching/HTML/pages/login.png | Bin 0 -> 15522 bytes sketching/HTML/pages/new.png | Bin 0 -> 15784 bytes sketching/PNG/dashboard.png | Bin 0 -> 29073 bytes sketching/PNG/delete.png | Bin 0 -> 15921 bytes sketching/PNG/edit.png | Bin 0 -> 15689 bytes sketching/PNG/login.png | Bin 0 -> 15522 bytes sketching/PNG/new.png | Bin 0 -> 15784 bytes sketching/sketching.ep | 313 +++++++++++++++++++++++ src/app.py | 164 ++++++++++++ src/database.py | 32 +++ src/templates/items/dashboard.html | 62 +++++ src/templates/items/delete.html | 21 ++ src/templates/items/edit.html | 24 ++ src/templates/items/login.html | 21 ++ src/templates/items/new.html | 23 ++ src/templates/layouts/master.html | 22 ++ 22 files changed, 817 insertions(+) create mode 100644 README.org create mode 100644 sketching/HTML/Resources/SampleStyle.css create mode 100644 sketching/HTML/index.html create mode 100644 sketching/HTML/pages/dashboard.png create mode 100644 sketching/HTML/pages/delete.png create mode 100644 sketching/HTML/pages/edit.png create mode 100644 sketching/HTML/pages/login.png create mode 100644 sketching/HTML/pages/new.png create mode 100644 sketching/PNG/dashboard.png create mode 100644 sketching/PNG/delete.png create mode 100644 sketching/PNG/edit.png create mode 100644 sketching/PNG/login.png create mode 100644 sketching/PNG/new.png create mode 100644 sketching/sketching.ep create mode 100644 src/app.py create mode 100644 src/database.py create mode 100644 src/templates/items/dashboard.html create mode 100644 src/templates/items/delete.html create mode 100644 src/templates/items/edit.html create mode 100644 src/templates/items/login.html create mode 100644 src/templates/items/new.html create mode 100644 src/templates/layouts/master.html diff --git a/README.org b/README.org new file mode 100644 index 0000000..0ba1be6 --- /dev/null +++ b/README.org @@ -0,0 +1,127 @@ +* PyConES16: Flask-note > Clone of Evernote with Flask + +** [[https://flasknote.fenollosa.work][DEMO]] + +#+CAPTION: Flask-note +#+NAME: Flask-note +[[file:sketching/PNG/dashboard.png]] + +** Install + +*** Flask + +#+BEGIN_SRC bash +mkdir flask-note +cd flask-note +pip install virtualenv +virtualenv ENV +source ENV/bin/activate +pip install Flask +pip install markdown +#+END_SRC + +*** SQLite + +**** OS X +#+BEGIN_SRC bash +brew install sqlite +#+END_SRC + +**** Ubuntu +#+BEGIN_SRC bash +sudo apt-get update +sudo apt-get install sqlite3 libsqlite3-dev +#+END_SRC + +*** Flask_sqlalchemy + +#+BEGIN_SRC bash +pip install flask_sqlalchemy +#+END_SRC + +** Create Flask + +Create *app.py* + +#+BEGIN_SRC python +from flask import Flask +app = Flask(__name__) + +def login_required(f): + @wraps(f) + def decorated_function(*args, **kwargs): + if 'user_id' not in session: + session.clear() + return redirect(url_for('index')) + return f(*args, **kwargs) + return decorated_function + +@app.route('/') +def hello(): + return 'Hello PyConES!' + +if __name__ == "__main__": + app.run() +#+END_SRC + +#+BEGIN_SRC bash +python app.py +#+END_SRC + +Open in your browser + +http://127.0.0.1:5000/ + +** Create Database + +Create *database.py* + +#+BEGIN_SRC python +from flask import Flask +from flask_sqlalchemy import SQLAlchemy + +app = Flask(__name__) +app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.sqlite' +db = SQLAlchemy(app) + + +class User(db.Model): + id = db.Column(db.Integer, primary_key=True) + email = db.Column(db.String(100), unique=True) + password = db.Column(db.String(32)) + + def __init__(self, email, password): + self.email = email + self.password = password + + def __repr__(self): + return ''.format(email=self.email) + + +class Note(db.Model): + id = db.Column(db.Integer, primary_key=True) + title = db.Column(db.String(100), unique=True) + text = db.Column(db.Text()) + + def __init__(self, title, text): + self.title = title + self.text = text + + def __repr__(self): + return ''.format(title=self.title) + +#+END_SRC + +#+BEGIN_SRC bash +python +from database import db +db.create_all() +exit() +sqlite3 database.sqlite +#+END_SRC + +#+BEGIN_SRC sql +INSERT INTO user VALUES (NULL, 'py@con.es', '2016'); +.exit +#+END_SRC + diff --git a/sketching/HTML/Resources/SampleStyle.css b/sketching/HTML/Resources/SampleStyle.css new file mode 100644 index 0000000..dfe04b2 --- /dev/null +++ b/sketching/HTML/Resources/SampleStyle.css @@ -0,0 +1,7 @@ +/* + place extra stylesheet here +*/ + +.ImageContainer img { + border: solid 2px #999; +} diff --git a/sketching/HTML/index.html b/sketching/HTML/index.html new file mode 100644 index 0000000..92ee28a --- /dev/null +++ b/sketching/HTML/index.html @@ -0,0 +1 @@ +sketching.ep

Flask-note

Login

Dashboard

New

Edit

Delete

\ No newline at end of file diff --git a/sketching/HTML/pages/dashboard.png b/sketching/HTML/pages/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..aae1f2d5d16238211e3898526c09683359942f3a GIT binary patch literal 29073 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 P+4BaM^o!2i`0xJ#-)BOe literal 0 HcmV?d00001 diff --git a/sketching/HTML/pages/delete.png b/sketching/HTML/pages/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..42dd3a77b3c1972cd1a5f0856bc994b0e3e6da71 GIT binary patch literal 15921 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 literal 0 HcmV?d00001 diff --git a/sketching/HTML/pages/login.png b/sketching/HTML/pages/login.png new file mode 100644 index 0000000000000000000000000000000000000000..46ddd646550de3f5aa1439113eb31ad36a59a965 GIT binary patch literal 15522 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%0A=@@G3fVK@j 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 literal 0 HcmV?d00001 diff --git a/sketching/PNG/dashboard.png b/sketching/PNG/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..aae1f2d5d16238211e3898526c09683359942f3a GIT binary patch literal 29073 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 P+4BaM^o!2i`0xJ#-)BOe literal 0 HcmV?d00001 diff --git a/sketching/PNG/delete.png b/sketching/PNG/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..42dd3a77b3c1972cd1a5f0856bc994b0e3e6da71 GIT binary patch literal 15921 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 literal 0 HcmV?d00001 diff --git a/sketching/PNG/login.png b/sketching/PNG/login.png new file mode 100644 index 0000000000000000000000000000000000000000..46ddd646550de3f5aa1439113eb31ad36a59a965 GIT binary patch literal 15522 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%0A=@@G3fVK@j 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 literal 0 HcmV?d00001 diff --git a/sketching/sketching.ep b/sketching/sketching.ep new file mode 100644 index 0000000..6c908ed --- /dev/null +++ b/sketching/sketching.ep @@ -0,0 +1,313 @@ + +Login1473225761798_6183749884true#FFFFFFFFlogin + + + + + + + + Flask-note]]> + + +
Flask-note
+
+
+ + + + E-mail + + + + + Password + + + + + Login +
Dashboard1473719769736_2313749884true#FFFFFFFFdashboard + + + + + + + + Flask-note]]> + + +
Flask-note
+
+
PyConES16]]> + + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New + + + + + Delete + + + + + Edit + + + + + Logout + + + + + Search... +
New1473720033604_586749884true#FFFFFFFFtransparentnew + + + + + + + + Flask-note]]> + + +
Flask-note
+
+
+ + + + + + + + + + + + + New + + + + + Preview + + + + + + + + + + MarkDown + + + + + Logout +
Edit1473720371952_2384749884true#FFFFFFFFtransparentedit + + + + + + + + Flask-note]]> + + +
Flask-note
+
+
+ + + + + + + + + + + + + Save + + + + + Preview + + + + + + + + + + MarkDown + + + + + Logout +
Delete1473720471843_2494749884true#FFFFFFFFtransparentdelete + + + + + + + + Flask-note]]> + + +
Flask-note
+
+
+ + + + + + + + + + + + + Yes + + + + + No please! + + + + + + +
\ No newline at end of file diff --git a/src/app.py b/src/app.py new file mode 100644 index 0000000..38d46bc --- /dev/null +++ b/src/app.py @@ -0,0 +1,164 @@ +from flask import Flask, render_template, request, url_for, redirect, session +from functools import wraps +from sqlalchemy import or_ +from markdown import markdown +from database import db, User, Note + +app = Flask(__name__) + +# Decoration: check login in session + + +def login_required(f): + @wraps(f) + def decorated_function(*args, **kwargs): + if 'user_id' not in session: + session.clear() + return redirect(url_for('index')) + return f(*args, **kwargs) + return decorated_function + + +@app.route('/') +def index(data=None): + return render_template('items/login.html', data=data) + + +@app.route('/login', methods=['POST']) +def login(): + data = dict() + if request.form['email'] and request.form['password']: + # Checks if the user exists + data['email'] = request.form['email'] + data['password'] = request.form['password'] + my_user = User.query.filter_by( + email=data['email'], password=data['password']).first() + if my_user: + # Create user session + session['user_id'] = my_user.id + session['user_email'] = my_user.email + return redirect(url_for('dashboard')) + else: + data['error'] = True + else: + data['error'] = True + + return index(data) + + +@app.route('/logout') +@login_required +def logout(): + # Clear sessions + session.clear() + + return redirect(url_for('index')) + + +@app.route('/dashboard') +@login_required +def dashboard(my_param_note=None): + my_main_note = None + + # Searchs + my_notes = my_param_note + if not my_notes: + # Nothing found + my_notes = Note.query.order_by(Note.id.desc()).all() + if my_notes: + # Show first result + my_main_note = my_notes[0] + + # Show first note + if request.args.get('id'): + my_note_temp = Note.query.filter_by(id=request.args.get('id')).first() + # Is there any note in the database? + if my_note_temp: + my_main_note = my_note_temp + + # Data for template + data = dict() + data['notes'] = my_notes + data['main_note'] = my_main_note + data['markdown'] = markdown + + return render_template('items/dashboard.html', data=data) + + +@app.route('/search') +@login_required +def search(): + q = request.args.get('q') + + return dashboard(Note.query.filter( + or_(Note.title.like('%' + q + '%'), Note.text.like('%' + q + '%') + )).all()) + + +@app.route('/new') +@login_required +def new(): + return render_template('items/new.html') + + +@app.route('/new/save', methods=['POST']) +@login_required +def save_note(): + myNote = Note(request.form['title'], request.form['text']) + # Create + db.session.add(myNote) + db.session.commit() + + return redirect(url_for('dashboard')) + + +@app.route('/edit') +@login_required +def edit(data=None): + id = request.args.get('id') + my_note = Note.query.filter_by(id=id).first() + data = dict() + data['main_note'] = my_note + return render_template('items/edit.html', data=data) + + +@app.route('/edit_note', methods=['POST']) +@login_required +def edit_note(data=None): + if request.form['id']: + # Update + my_note = Note.query.filter_by(id=request.form['id']).first() + my_note.title = request.form['title'] + my_note.text = request.form['text'] + db.session.commit() + + return redirect(url_for('dashboard')) + + +@app.route('/delete') +@login_required +def delete(): + id = request.args.get('id') + my_note = Note.query.filter_by(id=id).first() + data = dict() + data['main_note'] = my_note + data['markdown'] = markdown + + return render_template('items/delete.html', data=data) + + +@app.route('/delete_note') +@login_required +def delete_note(): + id = request.args.get('id') + # Delete + my_note = Note.query.filter_by(id=id).first() + db.session.delete(my_note) + db.session.commit() + + return redirect(url_for('dashboard', id=id)) + +# App +if __name__ == "__main__": + app.secret_key = 'secret' + app.run() diff --git a/src/database.py b/src/database.py new file mode 100644 index 0000000..fdefc5c --- /dev/null +++ b/src/database.py @@ -0,0 +1,32 @@ +from flask import Flask +from flask_sqlalchemy import SQLAlchemy + +app = Flask(__name__) +app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.sqlite' +db = SQLAlchemy(app) + + +class User(db.Model): + id = db.Column(db.Integer, primary_key=True) + email = db.Column(db.String(100), unique=True) + password = db.Column(db.String(32)) + + def __init__(self, email, password): + self.email = email + self.password = password + + def __repr__(self): + return ''.format(email=self.email) + + +class Note(db.Model): + id = db.Column(db.Integer, primary_key=True) + title = db.Column(db.String(100), unique=True) + text = db.Column(db.Text()) + + def __init__(self, title, text): + self.title = title + self.text = text + + def __repr__(self): + return ''.format(title=self.title) diff --git a/src/templates/items/dashboard.html b/src/templates/items/dashboard.html new file mode 100644 index 0000000..53f9879 --- /dev/null +++ b/src/templates/items/dashboard.html @@ -0,0 +1,62 @@ +{% extends 'layouts/master.html' %} +{% block contain %} +
+
+
+
+ New +
+
+ {%- if data.main_note -%} + Edit + Delete + {% endif %} +
+
+
+
+ +
+ {%- if data.main_note -%} +
+
+

+ {{ data.markdown(data.main_note.title)|safe }} +

+ {{ data.markdown(data.main_note.text)|safe }} +
+
+ {% endif %} +
+
+{% endblock %} diff --git a/src/templates/items/delete.html b/src/templates/items/delete.html new file mode 100644 index 0000000..8b0eb01 --- /dev/null +++ b/src/templates/items/delete.html @@ -0,0 +1,21 @@ +{% extends 'layouts/master.html' %} +{% block contain %} +
+

Do you want to delete this note?

+ +
+
+
+
+
+

+ {{ data.markdown(data.main_note.title)|safe }} +

+ {{ data.markdown(data.main_note.text)|safe }} +
+
+
+{% endblock %} diff --git a/src/templates/items/edit.html b/src/templates/items/edit.html new file mode 100644 index 0000000..ab95a10 --- /dev/null +++ b/src/templates/items/edit.html @@ -0,0 +1,24 @@ +{% extends 'layouts/master.html' %} +{% block contain %} +
+ {{ session['user_email'] }} + Logout +
+
+
+ +
+
+ Back +
+
+ +
+
+
+
+ + +
+
+{% endblock %} diff --git a/src/templates/items/login.html b/src/templates/items/login.html new file mode 100644 index 0000000..305bf99 --- /dev/null +++ b/src/templates/items/login.html @@ -0,0 +1,21 @@ +{% extends 'layouts/master.html' %} +{% block contain %} +{% if data['error'] %} +
+ +
+{% endif %} +
+
+
+ +
+
+ +
+ +
+
+{% endblock %} diff --git a/src/templates/items/new.html b/src/templates/items/new.html new file mode 100644 index 0000000..e50d5cb --- /dev/null +++ b/src/templates/items/new.html @@ -0,0 +1,23 @@ +{% extends 'layouts/master.html' %} +{% block contain %} +
+ {{ session['user_email'] }} + Logout +
+
+
+
+
+ Back +
+
+ +
+
+
+
+ + +
+
+{% endblock %} diff --git a/src/templates/layouts/master.html b/src/templates/layouts/master.html new file mode 100644 index 0000000..7ec88c5 --- /dev/null +++ b/src/templates/layouts/master.html @@ -0,0 +1,22 @@ + + + + + + + Flask-note + + +
+ +
+ {% block contain %} + {% endblock %} +
+
+ +