Make all imports relative (#229)

* Make all imports relative

* Change the way the application runs in the Makefile

* Import the default settings relatively

* Fix manage.py imports
This commit is contained in:
Alexis Metaireau 2017-06-28 21:36:02 +02:00 committed by GitHub
parent 603ac10d6e
commit 0e374cd5e0
9 changed files with 36 additions and 27 deletions

View file

@ -29,7 +29,7 @@ remove-install-stamp:
update: remove-install-stamp install
serve: install
cd budget; $(PYTHON) run.py
$(PYTHON) -m budget.manage runserver
test: $(DEV_STAMP)
$(VENV)/bin/tox

View file

@ -2,9 +2,9 @@
from flask import Blueprint, request
from flask_rest import RESTResource, need_auth
from models import db, Project, Person, Bill
from forms import (ProjectForm, EditProjectForm, MemberForm,
get_billform_for)
from .models import db, Project, Person, Bill
from .forms import (ProjectForm, EditProjectForm, MemberForm,
get_billform_for)
api = Blueprint("api", __name__, url_prefix="/api")

View file

@ -7,10 +7,11 @@ from flask_babel import lazy_gettext as _
from flask import request
from wtforms.widgets import html_params
from models import Project, Person
from datetime import datetime
from jinja2 import Markup
from utils import slugify
from .models import Project, Person
from .utils import slugify
def get_billform_for(project, set_default=True, **kwargs):
"""Return an instance of BillForm configured for a particular project.

View file

@ -1,12 +1,12 @@
#!/usr/bin/env python
from getpass import getpass
from flask_script import Manager, Command
from flask_migrate import Migrate, MigrateCommand
from werkzeug.security import generate_password_hash
from run import app
from models import db
from getpass import getpass
from .run import app
from .models import db
class GeneratePasswordHash(Command):
@ -20,8 +20,12 @@ migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
manager.add_command('generate_password_hash', GeneratePasswordHash)
manager.add_command('generate_password_hash', GeneratePasswordHash)
def main():
manager.run()
if __name__ == '__main__':
manager.run()
main()

View file

@ -7,12 +7,12 @@ from flask_babel import Babel
from flask_migrate import Migrate, upgrade, stamp
from raven.contrib.flask import Sentry
from web import main, db, mail
from api import api
from utils import PrefixedWSGI
from utils import minimal_round
from .web import main, db, mail
from .api import api
from .utils import PrefixedWSGI
from .utils import minimal_round
import default_settings
from . import default_settings
app = Flask(__name__, instance_path='/etc/ihatemoney', instance_relative_config=True)

View file

@ -17,9 +17,9 @@ from flask import session
if 'IHATEMONEY_SETTINGS_FILE_PATH' in os.environ:
del os.environ['IHATEMONEY_SETTINGS_FILE_PATH']
import run
import models
import utils
from .. import run
from .. import models
from .. import utils
__HERE__ = os.path.dirname(os.path.abspath(__file__))

View file

@ -9,8 +9,10 @@ some shortcuts to make your life better when coding (see `pull_project`
and `add_project_id` for a quick overview)
"""
from flask import Blueprint, current_app, flash, g, redirect, \
render_template, request, session, url_for, send_file
from flask import (
Blueprint, current_app, flash, g, redirect, render_template, request,
session, url_for, send_file
)
from flask_mail import Mail, Message
from flask_babel import get_locale, gettext as _
from werkzeug.security import generate_password_hash, \
@ -20,12 +22,13 @@ import werkzeug
from sqlalchemy import orm
from functools import wraps
# local modules
from models import db, Project, Person, Bill
from forms import AdminAuthenticationForm, AuthenticationForm, EditProjectForm, \
InviteForm, MemberForm, PasswordReminder, ProjectForm, get_billform_for, \
from .models import db, Project, Person, Bill
from .forms import (
AdminAuthenticationForm, AuthenticationForm, EditProjectForm,
InviteForm, MemberForm, PasswordReminder, ProjectForm, get_billform_for,
ExportForm
from utils import Redirect303, list_of_dicts2json, list_of_dicts2csv
)
from .utils import Redirect303, list_of_dicts2json, list_of_dicts2csv
main = Blueprint("main", __name__)
mail = Mail()

View file

@ -1,2 +1,3 @@
zest.releaser
tox
pytest

View file

@ -6,7 +6,7 @@ skip_missing_interpreters = True
commands =
python --version
python -m unittest discover -s budget
py.test budget/tests/tests.py
deps =
-rdev-requirements.txt
-rrequirements.txt