On 06/08/2016 04:09 PM, Aline Manera wrote:
On 06/06/2016 04:13 PM, Rodrigo Trujillo wrote:
> This patch adapts Sample plugin to work with new latest Wok plugin
> changes and to work with Plugins Manager.
> ---
> src/wok/plugins/sample/__init__.py | 54
> ++++++++++++++++++++--
> src/wok/plugins/sample/control/__init__.py | 26 +++++++++++
> src/wok/plugins/sample/sample.conf.in | 22 ---------
> src/wok/plugins/sample/ui/config/tab-ext.xml | 9 ++--
> .../plugins/sample/ui/pages/sample-tab1.html.tmpl | 3 ++
> .../plugins/sample/ui/pages/sample-tab2.html.tmpl | 3 ++
> 6 files changed, 86 insertions(+), 31 deletions(-)
> create mode 100644 src/wok/plugins/sample/control/__init__.py
>
> diff --git a/src/wok/plugins/sample/__init__.py
> b/src/wok/plugins/sample/__init__.py
> index ff96b15..c65dd0d 100644
> --- a/src/wok/plugins/sample/__init__.py
> +++ b/src/wok/plugins/sample/__init__.py
> @@ -23,21 +23,22 @@ import json
> import os
> from cherrypy import expose
>
> -
> -from wok.config import PluginPaths
> +from wok.config import CACHEEXPIRES, PluginConfig, PluginPaths
> from wok.control.base import Collection, Resource
> from wok.root import WokRoot
>
>
> -from plugins.sample.i18n import messages
> -from plugins.sample.model import Model
> +from wok.plugins.sample.i18n import messages
> +from wok.plugins.sample.model import Model
>
>
> model = Model()
>
>
> -class Drawings(WokRoot):
> +class Sample(WokRoot):
> def __init__(self, wok_options):
> + dev_env = wok_options.environment != 'production'
> + super(Sample, self).__init__(model, dev_env)
> Resource.__init__(self, model)
As you are calling WokRoot.__init__, I don't think this
Resource.__init__ is necessary anymore.
ok
> self.description = Description(model)
> self.rectangles = Rectangles(model)
> @@ -52,6 +53,49 @@ class Drawings(WokRoot):
> def index(self):
> return 'This is a sample plugin for Wok'
>
> + def get_custom_conf(self):
> + return SampleConfig()
> +
> +
> +class SampleConfig(PluginConfig):
> + def __init__(self):
> + super(SampleConfig, self).__init__('sample')
> +
> + sample_path = PluginPaths('sample')
> +
> + custom_config = {
> + '/help': {
> + 'tools.staticdir.on': True,
> + 'tools.staticdir.dir': os.path.join(sample_path.ui_dir,
> + 'pages/help'),
> + 'tools.nocache.on': True
> + },
> + '/images': {
> + 'tools.staticdir.on': True,
> + 'tools.staticdir.dir': os.path.join(sample_path.ui_dir,
> + 'images'),
> + 'tools.wokauth.on': False,
> + 'tools.nocache.on': False
> + },
I don't think sample plugin has any image to expose on server.
So we don't need this there.
ack
> + '/description': {'tools.wokauth.on': True},
> + '/rectangles': {'tools.wokauth.on': True},
> + '/circles': {'tools.wokauth.on': True}
> + }
> +
> + for dirname in ('css', 'js', 'images'):
Same for js and css config.
ack
> + custom_config['/' + dirname] = {
> + 'tools.staticdir.on': True,
> + 'tools.staticdir.dir': os.path.join(sample_path.ui_dir,
> + dirname),
> + 'tools.wokauth.on': False,
> + 'tools.nocache.on': False}
> + if dirname != 'images':
> + custom_config['/' + dirname].update({
> + 'tools.expires.on': True,
> + 'tools.expires.secs': CACHEEXPIRES})
> +
> + self.update(custom_config)
> +
>
> class Description(Resource):
> def __init__(self, model):
> diff --git a/src/wok/plugins/sample/control/__init__.py
> b/src/wok/plugins/sample/control/__init__.py
> new file mode 100644
> index 0000000..c87776e
> --- /dev/null
> +++ b/src/wok/plugins/sample/control/__init__.py
> @@ -0,0 +1,26 @@
> +#
> +# Project Wok
> +#
> +# Copyright IBM Corp, 2016
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library 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
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301 USA
> +
> +import os
> +
> +
> +from wok.control.utils import load_url_sub_node
> +
> +
> +sub_nodes = load_url_sub_node(os.path.dirname(__file__), __name__)
> diff --git a/src/wok/plugins/sample/sample.conf.in
> b/src/wok/plugins/sample/sample.conf.in
> index 9da33e1..1e1b8a4 100644
> --- a/src/wok/plugins/sample/sample.conf.in
> +++ b/src/wok/plugins/sample/sample.conf.in
> @@ -1,27 +1,5 @@
> [wok]
> enable = @ENABLE_SAMPLE@
> -plugin_class = "Drawings"
> uri = "/plugins/sample"
>
> -[/]
> -tools.nocache.on = True
> -tools.trailing_slash.on = False
> -tools.sessions.on = True
> -tools.sessions.name = 'wok'
> -tools.sessions.httponly = True
> -tools.sessions.locking = 'explicit'
> -tools.sessions.storage_type = 'ram'
>
> -[/description]
> -tools.wokauth.on = True
> -
> -[/rectangles]
> -tools.wokauth.on = True
> -
> -[/circles]
> -tools.wokauth.on = True
> -
> -[/help]
> -tools.staticdir.on = True
> -tools.nocache.on = True
> -tools.staticdir.dir = wok.config.PluginPaths('sample').ui_dir +
> '/pages/help'
> diff --git a/src/wok/plugins/sample/ui/config/tab-ext.xml
> b/src/wok/plugins/sample/ui/config/tab-ext.xml
> index aff0d14..bcd20fe 100644
> --- a/src/wok/plugins/sample/ui/config/tab-ext.xml
> +++ b/src/wok/plugins/sample/ui/config/tab-ext.xml
> @@ -1,17 +1,18 @@
> <?xml version="1.0" encoding="utf-8"?>
> <tabs-ext>
> + <functionality>Sample</functionality>
> <tab>
> <access role="admin" mode="admin"/>
> <access role="user" mode="none"/>
> -
> - <title>SampleTab 1</title>
> + <title>SampleTab1</title>
> <path>plugins/sample/sample-tab1.html</path>
> + <order>10</order>
> </tab>
> <tab>
> <access role="admin" mode="admin"/>
> <access role="user" mode="none"/>
> -
> - <title>SampleTab 2</title>
> + <title>SampleTab2</title>
> <path>plugins/sample/sample-tab2.html</path>
> + <order>20</order>
> </tab>
> </tabs-ext>
> diff --git a/src/wok/plugins/sample/ui/pages/sample-tab1.html.tmpl
> b/src/wok/plugins/sample/ui/pages/sample-tab1.html.tmpl
> index 2777848..8e4b52b 100644
> --- a/src/wok/plugins/sample/ui/pages/sample-tab1.html.tmpl
> +++ b/src/wok/plugins/sample/ui/pages/sample-tab1.html.tmpl
> @@ -22,6 +22,9 @@
> <html>
> <script type="text/javascript"
> src="plugins/sample/js/util.js"></script>
> <body>
> + <div>
> + Sample PAGE 1
> + </div>
> <div id="samplebody"/>
> </body>
> <script>
> diff --git a/src/wok/plugins/sample/ui/pages/sample-tab2.html.tmpl
> b/src/wok/plugins/sample/ui/pages/sample-tab2.html.tmpl
> index 2777848..8f92b80 100644
> --- a/src/wok/plugins/sample/ui/pages/sample-tab2.html.tmpl
> +++ b/src/wok/plugins/sample/ui/pages/sample-tab2.html.tmpl
> @@ -22,6 +22,9 @@
> <html>
> <script type="text/javascript"
> src="plugins/sample/js/util.js"></script>
> <body>
> + <div>
> + Sample PAGE 2
> + </div>
> <div id="samplebody"/>
> </body>
> <script>
_______________________________________________
Kimchi-devel mailing list
Kimchi-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel