make ZTK-compatible package that is installable as a Python egg
This commit is contained in:
parent
e51ebdb28c
commit
421c21cdec
6 changed files with 48 additions and 13 deletions
11
MANIFEST.in
Normal file
11
MANIFEST.in
Normal file
|
@ -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
|
7
README.md
Normal file
7
README.md
Normal file
|
@ -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.
|
|
@ -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']
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
"""
|
||||
$Id$
|
||||
"""
|
||||
# package loops.browser.skin
|
||||
|
||||
from cybertools.browser.liquid import Liquid
|
||||
from cybertools.browser.blue import Blue
|
||||
|
|
|
@ -61,9 +61,9 @@
|
|||
metal:define-macro="footer">
|
||||
<metal:footer define-slot="footer">
|
||||
© Copyright <span tal:replace="view/currentYear" />,
|
||||
cyberconcepts IT-Consulting Dr. Helmut Merz
|
||||
(<a href="#"
|
||||
tal:attributes="href string:${view/topMenu/url}/impressum">Impressum</a>)
|
||||
<span tal:replace="view/topMenu/copyright" />
|
||||
(<a i18n:translate=""
|
||||
tal:attributes="href string:${view/topMenu/url}/impressum">Impressum</a>)
|
||||
<br />
|
||||
Powered by
|
||||
<b><a href="http://www.wissen-statt-suchen.de">loops</a></b> ·
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Reference in a new issue