diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..0be9a0d --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,11 @@ +global-include *.cfg +global-include *.css *.js +global-include *.gif *.jpg *.png +global-include *.dmp +global-include *.md *.txt +global-include *.mo *.po *.pot +global-include *.pdf +global-include *.pt +global-include *.zcml + +graft loops/integrator/testdata diff --git a/README.md b/README.md new file mode 100644 index 0000000..122d1f7 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# Introduction + +This is the main part of the code of the semantic +web application platform *loops*, based on +Zope 3 / bluebream. + +More information: see https://www.cyberconcepts.org. diff --git a/browser/node.py b/browser/node.py index 4cb4935..8d2ddd5 100755 --- a/browser/node.py +++ b/browser/node.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2016 Helmut Merz helmutm@cy55.de +# Copyright (c) 2017 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -82,8 +82,7 @@ class NodeView(BaseView): super(NodeView, self).__init__(context, request) self.viewAnnotations.setdefault('nodeView', self) self.viewAnnotations.setdefault('node', self.context) - viewConfig = getViewConfiguration(context, request) - self.setSkin(viewConfig.get('skinName')) + self.setSkin(self.viewConfig.get('skinName')) def __call__(self, *args, **kw): tv = self.viewAnnotations.get('targetView') @@ -94,6 +93,26 @@ class NodeView(BaseView): self.controller.setMainPage() return super(NodeView, self).__call__(*args, **kw) + @Lazy + def viewConfig(self): + return getViewConfiguration(self.context, self.request) + + @Lazy + def viewConfigOptions(self): + result = {} + for opt in self.viewConfig['options']: + if ':' in opt: + k, v = opt.split(':', 1) + result[k] = v.split(',') + else: + result[opt] = True + return result + + #@Lazy + def copyright(self): + cr = self.viewConfigOptions.get('copyright') + return cr and cr[0] or 'cyberconcepts.org team' + @Lazy def macro(self): return self.template.macros['content'] diff --git a/browser/skin/__init__.py b/browser/skin/__init__.py index 0babeb0..8ee0148 100644 --- a/browser/skin/__init__.py +++ b/browser/skin/__init__.py @@ -1,6 +1,4 @@ -""" -$Id$ -""" +# package loops.browser.skin from cybertools.browser.liquid import Liquid from cybertools.browser.blue import Blue diff --git a/browser/skin/lobo/body.pt b/browser/skin/lobo/body.pt index 2a3ea56..6275e0e 100644 --- a/browser/skin/lobo/body.pt +++ b/browser/skin/lobo/body.pt @@ -61,9 +61,9 @@ metal:define-macro="footer"> © Copyright , - cyberconcepts IT-Consulting Dr. Helmut Merz - (Impressum) + + (Impressum)
Powered by loops · diff --git a/setup_egg.py b/setup_egg.py index 13c45a5..a3fa3e6 100644 --- a/setup_egg.py +++ b/setup_egg.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import sys, os -version = '2.0' +version = '2.2.1' setup(name='loops', version=version, @@ -10,9 +10,9 @@ setup(name='loops', linked objects for organizational process services""", classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers keywords='', - author='Helmut Merz', - author_email='helmutm@cy55.de', - url='', + author='cyberconcepts.org team', + author_email='team@cyberconcepts.org', + url='https://www.cyberconcepts.org', license='GPL', packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), include_package_data=True,