names module, pagekite: moved updating names to utils

This commit is contained in:
fonfon 2015-11-25 12:55:04 +01:00
parent d476326212
commit 1dbc566515
4 changed files with 44 additions and 56 deletions

View File

@ -42,7 +42,7 @@
{% for name_service in status.name_services %}
<tr>
<td>
<b>{{ name_service.type }}</b></br>
<b>{{ name_service.type }}</b><br>
<i>{{ name_service.name }}</i>
</td>
{% for service in name_service.services_enabled %}

View File

@ -21,7 +21,6 @@ Plinth module to configure PageKite
from django.utils.translation import ugettext_lazy as _
from plinth import cfg
from plinth.signals import domain_added
from . import utils
@ -37,24 +36,4 @@ def init():
'glyphicon-flag', 'pagekite:index', 800)
# Register kite name with Name Services module.
try:
kite_name = utils.get_kite_details()['kite_name']
enabled = utils.get_pagekite_config()['enabled']
except IndexError:
# no data from 'pagekite get-kite'
kite_name = None
enabled_services = None
else:
if enabled and kite_name:
services = utils.get_pagekite_services()[0]
enabled_services = []
for service in services:
if services[service]:
enabled_services.append(service)
else:
kite_name = None
enabled_services = None
domain_added.send_robust(sender='pagekite', domain_type='pagekite',
name=kite_name, description=_('Pagekite'),
services=enabled_services)
utils.update_names_module(initial_registration=True)

View File

@ -24,7 +24,6 @@ import json
import logging
from plinth.errors import ActionError
from plinth.signals import domain_added, domain_removed
from . import utils
LOGGER = logging.getLogger(__name__)
@ -105,18 +104,8 @@ class ConfigurationForm(forms.Form):
utils.run(['restart'])
# Update kite name registered with Name Services module.
domain_removed.send_robust(
sender='pagekite', domain_type='pagekite')
if new['enabled'] and new['kite_name']:
services = utils.get_pagekite_services()[0]
enabled_services = []
for service in services:
if services[service]:
enabled_services.append(service)
domain_added.send_robust(
sender='pagekite', domain_type='pagekite',
name=new['kite_name'], description=_('Pagekite'),
services=enabled_services)
utils.update_names_module(enabled=new['enabled'],
kite_name=new['kite_name'])
class StandardServiceForm(forms.Form):
@ -150,26 +139,8 @@ class StandardServiceForm(forms.Form):
messages.success(request, _('Service disabled: {name}')
.format(name=service_name))
# Update kite name services registered with Name Services module.
domain_removed.send_robust(
sender='pagekite', domain_type='pagekite')
try:
kite_name = utils.get_kite_details()['kite_name']
enabled = utils.get_pagekite_config()['enabled']
except IndexError:
# no data from 'pagekite get-kite'
pass
else:
if enabled and kite_name:
services = utils.get_pagekite_services()[0]
enabled_services = []
for service in services:
if services[service]:
enabled_services.append(service)
domain_added.send_robust(
sender='pagekite', domain_type='pagekite',
name=kite_name, description=_('Pagekite'),
services=enabled_services)
# Update kite services registered with Name Services module.
utils.update_names_module()
class BaseCustomServiceForm(forms.Form):

View File

@ -22,6 +22,7 @@ import os
from plinth import actions
from plinth import action_utils
from plinth.signals import domain_added, domain_removed
LOGGER = logging.getLogger(__name__)
@ -238,6 +239,43 @@ def get_augeas_servicefile_path(protocol):
return os.path.join(CONF_PATH, relpath, 'service_on')
def update_names_module(initial_registration=False, enabled=None,
kite_name=None):
"""
Update the PageKite domain and services of the 'names' module.
- initial_registration: Boolean (optional): Register also if not enabled
- enabled: Boolean (optional) whether PageKite is enabled
- kite_name: String (optional)
"""
domain_removed.send_robust(sender='pagekite', domain_type='pagekite')
if enabled is None:
try:
enabled = get_pagekite_config()['enabled']
except IndexError:
enabled = False
if enabled:
# Get enabled services and kite name
services = get_pagekite_services()[0]
enabled_services = [service for service in services if
services[service]]
if kite_name is None:
try:
kite_name = get_kite_details()['kite_name']
except IndexError:
pass
else:
enabled_services = None
kite_name = None
if initial_registration or (enabled and kite_name):
domain_added.send_robust(
sender='pagekite', domain_type='pagekite', name=kite_name,
description=_('Pagekite'), services=enabled_services)
if __name__ == "__main__":
import doctest
doctest.testmod()