some polishing

This commit is contained in:
ville rantanen
2018-11-11 11:43:18 +02:00
parent 9908e5795b
commit 3fc20ee43a
4 changed files with 24 additions and 7 deletions

View File

@@ -2,7 +2,7 @@
A simple shopping list app: A simple shopping list app:
* Runs on gunicorn+flaskr (python) * Runs on gunicorn+flask (python2.7)
* Multi-user * Multi-user
* Data saved as flat files, can contain markdown * Data saved as flat files, can contain markdown
* Syntaxes parsed: * Syntaxes parsed:
@@ -10,24 +10,30 @@ A simple shopping list app:
* [ ] and [x] tick boxes * [ ] and [x] tick boxes
Note! Register page is enabled by default, but there is no link to it anywhere. Note! Register page is enabled by default, but there is no link to it anywhere.
* Does not (yet) have proper configration file
* Disable registering with env variable: `ENABLE_REGISTER=false`
## Running ## Running
To debug, run with `./debug.py` - To debug, run with `./debug.py`
To run with gunicorn and nginx: - To run with gunicorn and nginx:
start app: `gunicorn -b 0.0.0.0:8166 -w 2 shop:app` - start app: `gunicorn -b 0.0.0.0:8000 -w 2 shop:app`
Add in nginx config: - Add in nginx config:
``` ```
location /myshop/ { location /myshop/ {
proxy_pass http://127.0.0.1:8166/; proxy_pass http://127.0.0.1:8000/;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme; proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /myshop; proxy_set_header X-Script-Name /myshop;
} }
``` ```
- Register new user at page http://localhost:8000/register

2
requirements.txt Normal file
View File

@@ -0,0 +1,2 @@
gunicorn
flask

5
run.example Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
export SESSION_COOKIE_NAME=mdshop
#export ENABLE_REGISTER=false
exec gunicorn -b 127.0.0.1:8000 -w 2 shop:app

View File

@@ -22,6 +22,8 @@ CODEFINDER = re.compile(r'\`([^\`]+)\`')
app = Flask(__name__) app = Flask(__name__)
app.config.from_object(__name__) app.config.from_object(__name__)
app.config['SESSION_COOKIE_NAME'] = os.getenv('SESSION_COOKIE_NAME', 'mdshop') app.config['SESSION_COOKIE_NAME'] = os.getenv('SESSION_COOKIE_NAME', 'mdshop')
app.config['register'] = os.getenv('ENABLE_REGISTER', 'true') != 'false'
print(app.config)
app.wsgi_app = ReverseProxied(app.wsgi_app) app.wsgi_app = ReverseProxied(app.wsgi_app)
def connect_db(): def connect_db():
@@ -463,6 +465,8 @@ def login():
@app.route('/register', methods=['GET', 'POST']) @app.route('/register', methods=['GET', 'POST'])
def register(): def register():
error = None error = None
if not app.config['register']:
return ""
if request.method == 'POST': if request.method == 'POST':
import re, string import re, string
pattern = re.compile('[\W]+') pattern = re.compile('[\W]+')