From 3b5ea0e4264ec8064f804bc63486570f830a84b7 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Thu, 17 Dec 2015 15:15:26 -0600 Subject: [PATCH] Add config extension, to record data changes if so configured. --- setup.py | 12 +++++++++--- tailbone/config.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 tailbone/config.py diff --git a/setup.py b/setup.py index d97247a3..e471cf89 100644 --- a/setup.py +++ b/setup.py @@ -151,8 +151,14 @@ setup( zip_safe = False, entry_points = { + 'paste.app_factory': [ 'main = tailbone.app:main', - ], - }, - ) + ], + + 'rattail.config.extensions': [ + 'tailbone = tailbone.config:ConfigExtension', + ], + + }, +) diff --git a/tailbone/config.py b/tailbone/config.py new file mode 100644 index 00000000..458935be --- /dev/null +++ b/tailbone/config.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Rattail -- Retail Software Framework +# Copyright © 2010-2015 Lance Edgar +# +# This file is part of Rattail. +# +# Rattail is free software: you can redistribute it and/or modify it under the +# terms of the GNU Affero General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# Rattail is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for +# more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Rattail. If not, see . +# +################################################################################ +""" +Rattail config extension for Tailbone +""" + +from __future__ import unicode_literals, absolute_import + +from rattail.config import ConfigExtension as BaseExtension +from rattail.db.config import configure_session + +from tailbone.db import Session + + +class ConfigExtension(BaseExtension): + """ + Rattail config extension for Tailbone. Does the following: + + * Configures the main Tailbone database session so that it records + changes, if the config file so dictates. + """ + key = 'tailbone' + + def configure(self, config): + configure_session(config, Session)