diff --git a/CHANGELOG.md b/CHANGELOG.md
index bec810a..5676a31 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,12 +5,6 @@ All notable changes to WuttJamaican will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
-## v0.13.2 (2024-08-27)
-
-### Fix
-
-- add basic support for wutta-continuum data versioning/history
-
## v0.13.1 (2024-08-27)
### Fix
diff --git a/docs/conf.py b/docs/conf.py
index cbee050..23fc2cf 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -35,7 +35,6 @@ intersphinx_mapping = {
'rattail': ('https://rattailproject.org/docs/rattail/', None),
'rattail-manual': ('https://rattailproject.org/docs/rattail-manual/', None),
'sqlalchemy': ('http://docs.sqlalchemy.org/en/latest/', None),
- 'wutta-continuum': ('https://rattailproject.org/docs/wutta-continuum/', None),
}
diff --git a/docs/index.rst b/docs/index.rst
index d2a6bd4..3da6f92 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -2,12 +2,18 @@
WuttJamaican
============
-This package aims to provide a "base layer" for apps regardless of
-platform or environment (console, web, GUI).
+This package provides a "base layer" for custom apps, regardless of
+environment/platform:
-It comes from patterns developed within the `Rattail Project`_, and
-roughly corresponds with the "base and data layers" as described in
-:doc:`rattail-manual:index`.
+* console
+* web
+* GUI
+
+It mostly is a distillation of certain patterns developed within the
+`Rattail Project`_, which are deemed generally useful. (At least,
+according to the author.) It roughly corresponds to the "base layer"
+as described in the Rattail Manual (see
+:doc:`rattail-manual:base/index`).
.. _Rattail Project: https://rattailproject.org/
@@ -16,6 +22,9 @@ project.
.. _test coverage: https://buildbot.rattailproject.org/coverage/wuttjamaican/
+Rattail is still the main use case so far, and will be refactored
+along the way to incorporate what this package has to offer.
+
Features
--------
@@ -26,11 +35,6 @@ Features
.. _SQLAlchemy: https://www.sqlalchemy.org
-See also these projects which build on WuttJamaican:
-
-* :doc:`wutta-continuum:index`
-* `WuttaWeb `_
-
Contents
--------
diff --git a/pyproject.toml b/pyproject.toml
index f82673d..fcba871 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
[project]
name = "WuttJamaican"
-version = "0.13.2"
+version = "0.13.1"
description = "Base package for Wutta Framework"
readme = "README.md"
authors = [{name = "Lance Edgar", email = "lance@edbob.org"}]
diff --git a/src/wuttjamaican/app.py b/src/wuttjamaican/app.py
index 98aa8ab..5d67df2 100644
--- a/src/wuttjamaican/app.py
+++ b/src/wuttjamaican/app.py
@@ -590,21 +590,6 @@ class AppHandler:
if setting:
session.delete(setting)
- def continuum_is_enabled(self):
- """
- Returns boolean indicating if Wutta-Continuum is installed and
- enabled.
-
- Default will be ``False`` as enabling it requires additional
- installation and setup. For instructions see
- :doc:`wutta-continuum:narr/install`.
- """
- for provider in self.providers.values():
- if hasattr(provider, 'continuum_is_enabled'):
- return provider.continuum_is_enabled()
-
- return False
-
##############################
# getters for other handlers
##############################
diff --git a/src/wuttjamaican/conf.py b/src/wuttjamaican/conf.py
index a54c38d..c04b603 100644
--- a/src/wuttjamaican/conf.py
+++ b/src/wuttjamaican/conf.py
@@ -625,7 +625,7 @@ class WuttaConfig:
class WuttaConfigExtension:
"""
- Base class for all :term:`config extensions `.
+ Base class for all config extensions.
"""
key = None
@@ -638,17 +638,6 @@ class WuttaConfigExtension:
object in any way necessary.
"""
- def startup(self, config):
- """
- This method is called after the config object is fully created
- and all extensions have been applied, i.e. after
- :meth:`configure()` has been called for each extension.
-
- At this point the config *settings* for the running app should
- be settled, and each extension is then allowed to act on those
- initial settings if needed.
- """
-
def generic_default_files(appname):
"""
@@ -973,13 +962,8 @@ def make_config(
# apply all registered extensions
# TODO: maybe let config disable some extensions?
extensions = load_entry_points(extension_entry_points)
- extensions = [ext() for ext in extensions.values()]
- for extension in extensions:
+ for extension in extensions.values():
log.debug("applying config extension: %s", extension.key)
- extension.configure(config)
-
- # let extensions run startup hooks if needed
- for extension in extensions:
- extension.startup(config)
+ extension().configure(config)
return config
diff --git a/src/wuttjamaican/db/model/auth.py b/src/wuttjamaican/db/model/auth.py
index 18ca366..5aee1df 100644
--- a/src/wuttjamaican/db/model/auth.py
+++ b/src/wuttjamaican/db/model/auth.py
@@ -65,7 +65,6 @@ class Role(Base):
See also :attr:`user_refs`.
"""
__tablename__ = 'role'
- __versioned__ = {}
uuid = uuid_column()
@@ -123,7 +122,6 @@ class Permission(Base):
Represents a permission granted to a role.
"""
__tablename__ = 'permission'
- __versioned__ = {}
role_uuid = uuid_fk_column('role.uuid', primary_key=True, nullable=False)
role = orm.relationship(
@@ -157,7 +155,6 @@ class User(Base):
See also :attr:`role_refs`.
"""
__tablename__ = 'user'
- __versioned__ = {}
uuid = uuid_column()
@@ -220,7 +217,6 @@ class UserRole(Base):
user "belongs" or "is assigned" to the role.
"""
__tablename__ = 'user_x_role'
- __versioned__ = {}
uuid = uuid_column()
diff --git a/src/wuttjamaican/db/model/base.py b/src/wuttjamaican/db/model/base.py
index 6da0cb3..81c41ab 100644
--- a/src/wuttjamaican/db/model/base.py
+++ b/src/wuttjamaican/db/model/base.py
@@ -118,7 +118,6 @@ class Person(Base):
Employee relationship etc.
"""
__tablename__ = 'person'
- __versioned__ = {}
uuid = uuid_column()
diff --git a/tests/test_app.py b/tests/test_app.py
index 720f59e..54ab540 100644
--- a/tests/test_app.py
+++ b/tests/test_app.py
@@ -200,19 +200,6 @@ class TestAppHandler(FileTestCase):
value = self.app.get_setting(session, 'foo')
self.assertIsNone(value)
- def test_continuum_is_enabled(self):
-
- # false by default
- with patch.object(self.app, 'providers', new={}):
- self.assertFalse(self.app.continuum_is_enabled())
-
- # but "any" provider technically could enable it...
- class MockProvider:
- def continuum_is_enabled(self):
- return True
- with patch.object(self.app, 'providers', new={'mock': MockProvider()}):
- self.assertTrue(self.app.continuum_is_enabled())
-
def test_model(self):
try:
from wuttjamaican.db import model
diff --git a/tests/test_conf.py b/tests/test_conf.py
index 690cee1..89af3be 100644
--- a/tests/test_conf.py
+++ b/tests/test_conf.py
@@ -7,8 +7,6 @@ from unittest.mock import patch, MagicMock
import pytest
-from wuttjamaican import conf as mod
-# TODO: get rid of this eventually
from wuttjamaican import conf
from wuttjamaican.exc import ConfigurationError
from wuttjamaican.app import AppHandler
@@ -675,11 +673,11 @@ class TestMakeConfig(FileTestCase):
generic = self.write_file('generic.conf', '')
myfile = self.write_file('my.conf', '')
- with patch.object(mod, 'WuttaConfig') as WuttaConfig:
- with patch.object(mod, 'load_entry_points') as load_entry_points:
+ with patch('wuttjamaican.conf.WuttaConfig') as WuttaConfig:
+ with patch('wuttjamaican.conf.load_entry_points') as load_entry_points:
# no entry points loaded if extend=False
- config = mod.make_config(appname='wuttatest', extend=False)
+ config = conf.make_config(appname='wuttatest', extend=False)
WuttaConfig.assert_called_once_with([], appname='wuttatest',
usedb=None, preferdb=None)
load_entry_points.assert_not_called()
@@ -687,7 +685,7 @@ class TestMakeConfig(FileTestCase):
# confirm entry points for default appname
load_entry_points.reset_mock()
WuttaConfig.reset_mock()
- config = mod.make_config([], appname='wutta')
+ config = conf.make_config([], appname='wutta')
WuttaConfig.assert_called_once_with([], appname='wutta',
usedb=None, preferdb=None)
load_entry_points.assert_called_once_with('wutta.config.extensions')
@@ -695,7 +693,7 @@ class TestMakeConfig(FileTestCase):
# confirm entry points for custom appname
load_entry_points.reset_mock()
WuttaConfig.reset_mock()
- config = mod.make_config(appname='wuttatest')
+ config = conf.make_config(appname='wuttatest')
WuttaConfig.assert_called_once_with([], appname='wuttatest',
usedb=None, preferdb=None)
load_entry_points.assert_called_once_with('wuttatest.config.extensions')
@@ -708,10 +706,9 @@ class TestMakeConfig(FileTestCase):
WuttaConfig.reset_mock()
testconfig = MagicMock()
WuttaConfig.return_value = testconfig
- config = mod.make_config(appname='wuttatest')
+ config = conf.make_config(appname='wuttatest')
WuttaConfig.assert_called_once_with([], appname='wuttatest',
usedb=None, preferdb=None)
load_entry_points.assert_called_once_with('wuttatest.config.extensions')
foo_cls.assert_called_once_with()
foo_obj.configure.assert_called_once_with(testconfig)
- foo_obj.startup.assert_called_once_with(testconfig)