[Kimchi-devel] [PATCH 2/2 V4] Changes in sample plugin to fix and improve help

Zhou Zheng Sheng zhshzhou at linux.vnet.ibm.com
Fri Oct 10 02:28:11 UTC 2014


on 2014/10/09 20:40, Aline Manera wrote:
> 
> On 10/08/2014 11:59 PM, Zhou Zheng Sheng wrote:
>> on 2014/10/01 02:37, Rodrigo Trujillo wrote:
>>> This patch set changes the Sample plugin, adding a new tab, modifying
>>> naming and other elements in order to show help pages properly.
>>>
>>> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
>>> ---
>>>   configure.ac                                       |  1 -
>>>   plugins/sample/Makefile.am                         | 12 +++++++++
>>>   plugins/sample/sample.conf.in                      |  5 ++++
>>>   plugins/sample/ui/config/tab-ext.xml               | 11 ++++++--
>>>   plugins/sample/ui/pages/Makefile.am                |  2 +-
>>>   .../sample/ui/pages/help/en_US/sample-tab1.html    |  1 +
>>>   .../sample/ui/pages/help/en_US/sample-tab2.html    |  1 +
>>>   plugins/sample/ui/pages/sample-tab1.html.tmpl      | 30
>>> ++++++++++++++++++++++
>>>   plugins/sample/ui/pages/sample-tab2.html.tmpl      | 30
>>> ++++++++++++++++++++++
>>>   plugins/sample/ui/pages/tab.html.tmpl              | 30
>>> ----------------------
>>>   10 files changed, 89 insertions(+), 34 deletions(-)
>>>   create mode 100644 plugins/sample/ui/pages/help/en_US/sample-tab1.html
>>>   create mode 100644 plugins/sample/ui/pages/help/en_US/sample-tab2.html
>>>   create mode 100644 plugins/sample/ui/pages/sample-tab1.html.tmpl
>>>   create mode 100644 plugins/sample/ui/pages/sample-tab2.html.tmpl
>>>   delete mode 100644 plugins/sample/ui/pages/tab.html.tmpl
>>>
>>> diff --git a/configure.ac b/configure.ac
>>> index 7872db9..d363b50 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -90,7 +90,6 @@ AC_CONFIG_FILES([
>>>       plugins/Makefile
>>>       plugins/sample/Makefile
>>>       plugins/sample/po/Makefile.in
>>> -    plugins/sample/sample.conf
>>>       plugins/sample/ui/Makefile
>>>       plugins/sample/ui/config/Makefile
>>>       plugins/sample/ui/js/Makefile
>>> diff --git a/plugins/sample/Makefile.am b/plugins/sample/Makefile.am
>>> index 876ab54..f8368a9 100644
>>> --- a/plugins/sample/Makefile.am
>>> +++ b/plugins/sample/Makefile.am
>>> @@ -21,9 +21,21 @@ SUBDIRS = ui po
>>>
>>>   EXTRA_DIST = API.json sample.conf.in $(wildcard *.py) config.status
>>>
>>> +pluginsdir = $(abs_top_srcdir)/plugins
>>> +
>>>   all-local:
>>>       while read L && test -n "$$L"; do                      \
>>>           dir=mo/$$L/LC_MESSAGES ;                       \
>>>           $(MKDIR_P) $$dir ;                             \
>>>           ln -sf ../../../po/$$L.gmo $$dir/sample.mo ;   \
>>>       done < po/LINGUAS
>>> +
>>> +all: sample.conf
>>> +    $(MAKE) $(AM_MAKEFLAGS) all-recursive
>>> +
>>> +do_substitution = \
>>> +    sed -e 's,[@]pluginsdir[@],$(pluginsdir),g' \
>>> +        -e 's,[@]ENABLE_SAMPLE[@],$(ENABLE_SAMPLE),g'
>>> +
>>> +sample.conf: sample.conf.in Makefile
>>> +    $(do_substitution) < sample.conf.in > sample.conf
>>> diff --git a/plugins/sample/sample.conf.in
>>> b/plugins/sample/sample.conf.in
>>> index cf42467..7365a7c 100644
>>> --- a/plugins/sample/sample.conf.in
>>> +++ b/plugins/sample/sample.conf.in
>>> @@ -20,3 +20,8 @@ tools.kimchiauth.on = True
>>>
>>>   [/circles]
>>>   tools.kimchiauth.on = True
>>> +
>>> +[/help]
>>> +tools.staticdir.on = True
>>> +tools.nocache.on = True
>>> +tools.staticdir.dir = '@pluginsdir@/sample/ui/pages/help'
>> Is it also possible to do the trick as we did in Ginger using
>> PluginPaths?
>>
>>    kimchi.config.PluginPaths('sample').ui_dir + '/pages/help'
> 
> 
>> Or we can directly edit PluginConfig in src/kimchi/config.py.in, and
>> update the "/help" config item with the corrected path.
>>
>> plugin_config = {
>>      # ...
>>      '/help': {
>>          'tools.staticdir.on': True,
>>          'tools.staticdir.dir':
>> os.path.join(PluginPaths(plugin_name).ui_dir,
>>                                        '/pages/help')
>>          'tools.nocache.on': True
>>      }
>> }
> 
> I don't think it is a good idea as you will force all plugins to have a
> help setup.
> 

OK. I agree it would be a problem if the plugin does not provide help.
So what do you think of the trick I mentioned above?

[/help]
...
tools.staticdir.dir = kimchi.config.PluginPaths('sample').ui_dir +
'/pages/help'

>> This can avoid the sed trick in "Makefile.am" and simplifies the
>> packaging for all the plugins, and save them from adding similar "help"
>> config item in "plugin_name.conf" file. Otherwise all the plugins needs
>> this sed trick in packaging system. Is it a bit overkill for a most
>> simple sample plugin?
>>
>> When reviewing the Ginger part of this patch I didn't know you also made
>> some changes in Kimchi. I think it maybe a good chance to update the
>> Kimchi plugin framework to add support for help files. Agree? ;-)
>>




More information about the Kimchi-devel mailing list