Changeset - 8e59d3d66159
[Not reviewed]
0 1 0
Joar Wandborg - 10 years ago 2013-12-17 10:16:51
joar@wandborg.se
[sql] Late init_app of SQLAlchemy

in order to be able to run sql/models.py alone (e.g. sphinx autodoc)
1 file changed with 5 insertions and 6 deletions:
0 comments (0 inline, 0 general)
accounting/storage/sql/__init__.py
Show inline comments
...
 
@@ -9,10 +9,9 @@ from accounting.models import Transaction, Posting, Amount
 

	
 
_log = logging.getLogger(__name__)
 
db = None
 
db = SQLAlchemy()
 

	
 

	
 
class SQLStorage(Storage):
 
    def __init__(self, app=None):
 
        global db
 

	
 
        if not app:
...
 
@@ -20,5 +19,5 @@ class SQLStorage(Storage):
 

	
 
        self.app = app
 
        db = self.db = SQLAlchemy(app)
 
        db.init_app(app)
 

	
 
        from .models import Transaction as SQLTransaction, \
...
 
@@ -70,5 +69,5 @@ class SQLStorage(Storage):
 
        _t.meta = json.dumps(transaction.metadata)
 

	
 
        self.db.session.add(_t)
 
        db.session.add(_t)
 

	
 
        for posting in transaction.postings:
...
 
@@ -80,5 +79,5 @@ class SQLStorage(Storage):
 
                                    amount=posting.amount.amount)
 

	
 
            self.db.session.add(_p)
 
            db.session.add(_p)
 

	
 
        self.db.session.commit()
 
        db.session.commit()
0 comments (0 inline, 0 general)