diff options
| author | Alexis Métaireau <alexis@notmyidea.org> | 2017-03-21 15:08:42 +0100 |
|---|---|---|
| committer | Alexis Métaireau <alexis@notmyidea.org> | 2017-03-28 17:41:34 +0200 |
| commit | d1facecc69e3a2638b508b4120094873cdb7bcf2 (patch) | |
| tree | 1bcd60ed8e58280a8cc18139473a9d5cddf83452 | |
| parent | a354973f1f9c2dd602a4c28e90540fdbf4020064 (diff) | |
| download | ihatemoney-mirror-d1facecc69e3a2638b508b4120094873cdb7bcf2.zip ihatemoney-mirror-d1facecc69e3a2638b508b4120094873cdb7bcf2.tar.gz ihatemoney-mirror-d1facecc69e3a2638b508b4120094873cdb7bcf2.tar.bz2 | |
Create a Makefile to ease development
| -rw-r--r-- | Makefile | 39 | ||||
| -rw-r--r-- | Procfile | 1 | ||||
| -rw-r--r-- | README.rst | 40 | ||||
| -rw-r--r-- | budget/run.py | 4 | ||||
| -rw-r--r-- | dev-requirements.txt | 1 | ||||
| -rw-r--r-- | fabfile.py | 13 | ||||
| -rw-r--r-- | requirements.txt (renamed from budget/requirements.txt) | 0 |
7 files changed, 60 insertions, 38 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cb2a1c7 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +VIRTUALENV = virtualenv --python=python3 +SPHINX_BUILDDIR = docs/_build +VENV := $(shell echo $${VIRTUAL_ENV-.venv}) +PYTHON = $(VENV)/bin/python3 +DEV_STAMP = $(VENV)/.dev_env_installed.stamp +DOC_STAMP = $(VENV)/.doc_env_installed.stamp +INSTALL_STAMP = $(VENV)/.install.stamp +TEMPDIR := $(shell mktemp -d) + +all: install +install: $(INSTALL_STAMP) +$(INSTALL_STAMP): + $(VENV)/bin/pip install -U pip + $(VENV)/bin/pip install -r requirements.txt + touch $(INSTALL_STAMP) + +virtualenv: $(PYTHON) +$(PYTHON): + $(VIRTUALENV) $(VENV) + +install-dev: $(INSTALL_STAMP) $(DEV_STAMP) +$(DEV_STAMP): $(PYTHON) dev-requirements.txt + $(VENV)/bin/pip install -Ur dev-requirements.txt + touch $(DEV_STAMP) + +serve: $(INSTALL_STAMP) + cd budget; ../$(PYTHON) run.py + +test: $(DEV_STAMP) + cd budget; ../$(PYTHON) tests.py + +release: $(DEV_STAMP) + $(VENV)/bin/fullrelease + +build-requirements: + $(VIRTUALENV) $(TEMPDIR) + $(TEMPDIR)/bin/pip install -U pip + $(TEMPDIR)/bin/pip install -Ue "." + $(TEMPDIR)/bin/pip freeze | grep -v -- '-e' > requirements.txt diff --git a/Procfile b/Procfile deleted file mode 100644 index d147525..0000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: python budget/run.py @@ -16,13 +16,9 @@ LICENSE for more details). Make it run! ============ -To make it run, you just have to do something like:: +To make it run, you just have to do use the serve command:: - $ virtualenv venv - $ source venv/bin/activate - $ pip install -r budget/requirements.txt - $ cd budget - $ python run.py + $ make serve It is also better to actually turn the debugging mode on when you're developing. You can create a `settings.py` file in the `budget` directory, with @@ -37,11 +33,7 @@ You can also set the `TESTING` flag to `True` so no mails are sent Deploy it ========= -To deploy it, I'm using gunicorn and supervisord:: - - $ virtualenv venv - $ source venv/bin/activate - $ pip install -r requirements.txt +To deploy it, I'm using gunicorn and supervisord. 1. Add the lines in conf/supervisord.conf to your supervisord.conf file. **adapt them to your paths!** @@ -58,9 +50,8 @@ e.g: APPLICATION_ROOT='/budget' - -How about the REST API? -======================= +The REST API? +============= Yep, you're right, there is a REST API with this. Head to the `api documentation <https://ihatemoney.readthedocs.io/en/latest/api.html>`_ to know more. @@ -68,22 +59,22 @@ documentation <https://ihatemoney.readthedocs.io/en/latest/api.html>`_ to know m How to contribute ================= +You would like to contribute? First, thanks a bunch! This project is a small +project with just a few people behind it, so any help is appreciated! + There are different ways to help us, regarding if you are a designer, -a developer or just an user. +a developer or an user. As a developer -------------- -The best way to contribute code is to write it and to make a pull request on +If you want to contribute code, you can write it and then issue a pull request on github. Please, think about updating and running the tests before asking for a pull request as it will help us to maintain the code clean and running. To do so:: - $ workon budget - (budget) $ python tests.py - -before pushing anything to master :) + $ make tests As a designer / Front-end developer ----------------------------------- @@ -95,9 +86,12 @@ know how to implement them, feel free to fork and make a pull request. End-user -------- -You just wanted to have a look at the application and found a bug? Please tell -us and go fill a new issue: -https://github.com/spiral-project/ihatemoney/issues +You are using the application and found a bug? You have some ideas about how to +improve the project? Please tell us [by filling a new issue](https://github.com/spiral-project/ihatemoney/issues). +Or, if you prefer, you can send me an email to `alexis@notmyidea.org` and I will +update the issue tracker with your feedback. + +Thanks again! How to release? =============== diff --git a/budget/run.py b/budget/run.py index f006ae9..9745b60 100644 --- a/budget/run.py +++ b/budget/run.py @@ -1,4 +1,5 @@ import os +import os.path import warnings from flask import Flask, g, request, session @@ -11,6 +12,7 @@ from api import api from utils import PrefixedWSGI from utils import minimal_round +__HERE__ = os.path.dirname(os.path.abspath(__file__)) app = Flask(__name__) @@ -65,7 +67,7 @@ if pre_alembic_db(): # auto-execute migrations on runtime with app.app_context(): - upgrade() + upgrade(os.path.join(__HERE__, 'migrations')) # mail mail.init_app(app) diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 0000000..a7fbb05 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1 @@ +zest.releaser diff --git a/fabfile.py b/fabfile.py deleted file mode 100644 index 7e71739..0000000 --- a/fabfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from fabric.api import env, cd, sudo, run - -env.hosts = ['sites.lolnet.lan'] - - -def deploy(): - with cd('/home//www/ihatemoney.org/code'): - sudo('git pull', user="www-data") - sudo('supervisorctl restart ihatemoney.org') - - -def whoami(): - run('/usr/bin/whoami') diff --git a/budget/requirements.txt b/requirements.txt index c4776f0..c4776f0 100644 --- a/budget/requirements.txt +++ b/requirements.txt |
