Make common web view a bit more common
i.e. avoid the need to subclass it in derived projects
This commit is contained in:
parent
a28a801a62
commit
f5d24133f7
|
@ -28,17 +28,15 @@ from __future__ import unicode_literals, absolute_import
|
||||||
|
|
||||||
import six
|
import six
|
||||||
|
|
||||||
import rattail
|
|
||||||
from rattail.db import model
|
from rattail.db import model
|
||||||
from rattail.batch import consume_batch_id
|
from rattail.batch import consume_batch_id
|
||||||
from rattail.mail import send_email
|
from rattail.mail import send_email
|
||||||
from rattail.util import OrderedDict, simple_error
|
from rattail.util import OrderedDict, simple_error, import_module_path
|
||||||
from rattail.files import resource_path
|
from rattail.files import resource_path
|
||||||
|
|
||||||
from pyramid import httpexceptions
|
from pyramid import httpexceptions
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
import tailbone
|
|
||||||
from tailbone import forms
|
from tailbone import forms
|
||||||
from tailbone.forms.common import Feedback
|
from tailbone.forms.common import Feedback
|
||||||
from tailbone.db import Session
|
from tailbone.db import Session
|
||||||
|
@ -51,8 +49,6 @@ class CommonView(View):
|
||||||
"""
|
"""
|
||||||
Base class for common views; override as needed.
|
Base class for common views; override as needed.
|
||||||
"""
|
"""
|
||||||
project_title = "Tailbone"
|
|
||||||
project_version = tailbone.__version__
|
|
||||||
robots_txt_path = resource_path('tailbone.static:robots.txt')
|
robots_txt_path = resource_path('tailbone.static:robots.txt')
|
||||||
|
|
||||||
def home(self, **kwargs):
|
def home(self, **kwargs):
|
||||||
|
@ -96,11 +92,24 @@ class CommonView(View):
|
||||||
response.content_type = b'text/plain'
|
response.content_type = b'text/plain'
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
def get_project_title(self):
|
||||||
|
return self.rattail_config.app_title()
|
||||||
|
|
||||||
|
def get_project_version(self):
|
||||||
|
|
||||||
|
# TODO: deprecate this
|
||||||
|
if hasattr(self, 'project_version'):
|
||||||
|
return self.project_version
|
||||||
|
|
||||||
|
pkg = self.rattail_config.app_package()
|
||||||
|
mod = import_module_path(pkg)
|
||||||
|
return mod.__version__
|
||||||
|
|
||||||
def exception(self):
|
def exception(self):
|
||||||
"""
|
"""
|
||||||
Generic exception view
|
Generic exception view
|
||||||
"""
|
"""
|
||||||
return {'project_title': self.project_title}
|
return {'project_title': self.get_project_title()}
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
"""
|
"""
|
||||||
|
@ -108,8 +117,8 @@ class CommonView(View):
|
||||||
"""
|
"""
|
||||||
use_buefy = self.get_use_buefy()
|
use_buefy = self.get_use_buefy()
|
||||||
context = {
|
context = {
|
||||||
'project_title': self.project_title,
|
'project_title': self.get_project_title(),
|
||||||
'project_version': self.project_version,
|
'project_version': self.get_project_version(),
|
||||||
'packages': self.get_packages(),
|
'packages': self.get_packages(),
|
||||||
'use_buefy': use_buefy,
|
'use_buefy': use_buefy,
|
||||||
}
|
}
|
||||||
|
@ -122,6 +131,7 @@ class CommonView(View):
|
||||||
Should return the full set of packages which should be displayed on the
|
Should return the full set of packages which should be displayed on the
|
||||||
'about' page.
|
'about' page.
|
||||||
"""
|
"""
|
||||||
|
import rattail, tailbone
|
||||||
return OrderedDict([
|
return OrderedDict([
|
||||||
('rattail', rattail.__version__),
|
('rattail', rattail.__version__),
|
||||||
('Tailbone', tailbone.__version__),
|
('Tailbone', tailbone.__version__),
|
||||||
|
|
Loading…
Reference in a new issue