Added explicit port setting to pagekite configuration

This commit is contained in:
fonfon 2015-10-07 15:10:47 +00:00 committed by Sunil Mohan Adapa
parent fc19b0fd3d
commit 96a272b3b0
4 changed files with 23 additions and 9 deletions

View File

@ -112,7 +112,8 @@ def subcommand_get_frontend(_):
def subcommand_set_frontend(arguments):
"""Set pagekite frontend url, taking care of defaults and pagekite.net"""
if arguments.url in ('pagekite.net', 'defaults', 'default'):
frontend_domain = arguments.url.split(':')[0]
if frontend_domain in ('pagekite.net', 'defaults', 'default'):
enable_pagekitenet_frontend()
else:
aug.remove(PATHS['defaults'])

View File

@ -45,12 +45,14 @@ class ConfigurationForm(forms.Form):
enabled = forms.BooleanField(label=_('Enable PageKite'), required=False)
server = forms.CharField(
label=_('Server'), required=False,
help_text=_('Select your pagekite.net server. Set "pagekite.net" to '
server_domain = forms.CharField(
label=_('Server domain'), required=False,
help_text=_('Select your pagekite server. Set "pagekite.net" to '
'use the default pagekite.net server'),
widget=forms.TextInput())
server_port = forms.IntegerField(
label=_('Server port'), required=False,
help_text=_('Port of your pagekite server (default: 80)'))
kite_name = TrimmedCharField(
label=_('Kite name'),
help_text=_('Example: mybox.pagekite.me'),
@ -79,8 +81,10 @@ for your account if no secret is set on the kite'))
messages.success(request, _('Kite details set'))
config_changed = True
if old['server'] != new['server']:
utils.run(['set-frontend', new['server']])
if old['server_domain'] != new['server_domain'] or \
old['server_port'] != new['server_port']:
server = "%s:%s" % (new['server_domain'], new['server_port'])
utils.run(['set-frontend', server])
messages.success(request, _('Pagekite server set'))
config_changed = True

View File

@ -30,7 +30,8 @@
<div id='pagekite-post-enabled-form'
style='display: {{ form.enabled.value|yesno:'block,none' }};'>
<h3>PageKite Account</h3>
{{ form.server|bootstrap_horizontal }}
{{ form.server_domain|bootstrap_horizontal }}
{{ form.server_port|bootstrap_horizontal }}
{{ form.kite_name|bootstrap_horizontal }}
{{ form.kite_secret|bootstrap_horizontal }}

View File

@ -99,7 +99,15 @@ def get_pagekite_config():
# PageKite frontend server
server = run(['get-frontend'])
status['server'] = server.replace('\n', '')
# Frontend-Entries are only considered valid if there's a ':' in them
# otherwise, pagekite refuses to work, and we only set values with ':'.
if ':' in server:
server_domain, server_port = server.strip().split(':')
status['server_domain'] = server_domain
status['server_port'] = server_port
else:
# no valid entry exists, default to port 80
status['server_port'] = 80
return status