ttrss: Add basic configuration

This commit is contained in:
James Valleroy 2016-03-10 17:04:14 -05:00 committed by Sunil Mohan Adapa
parent 15591b79ca
commit 47a54fadd1
No known key found for this signature in database
GPG Key ID: 36C361440C9BC971
3 changed files with 56 additions and 2 deletions

View File

@ -22,29 +22,64 @@ Configuration helper for Tiny Tiny RSS.
"""
import argparse
import augeas
from plinth import action_utils
CONFIG_FILE = '/etc/tt-rss/config.php'
DEFAULT_FILE = '/etc/default/tt-rss'
def parse_arguments():
"""Return parsed command line arguments as dictionary."""
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(dest='subcommand', help='Sub command')
subparsers.add_parser('setup', help='Setup Tiny Tiny RSS configuration')
subparsers.add_parser('enable', help='Enable Tiny Tiny RSS site')
subparsers.add_parser('disable', help='Disable Tiny Tiny RSS site')
return parser.parse_args()
def subcommand_setup(_):
"""Setup Tiny Tiny RSS configuration."""
aug = load_augeas()
aug.set('/files' + DEFAULT_FILE + '/DISABLED', '0')
for match in aug.match('/files' + CONFIG_FILE + '/define'):
if aug.get(match) == 'SELF_URL_PATH':
aug.set(match + '/value', "'http://localhost/tt-rss/'")
aug.save()
action_utils.service_restart('tt-rss')
action_utils.webserver_enable('50-tt-rss')
def subcommand_enable(_):
"""Enable web configuration and reload."""
action_utils.service_enable('tt-rss')
action_utils.webserver_enable('50-tt-rss')
def subcommand_disable(_):
"""Disable web configuration and reload."""
action_utils.webserver_disable('50-tt-rss')
action_utils.service_disable('tt-rss')
def load_augeas():
"""Initialize Augeas."""
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
augeas.Augeas.NO_MODL_AUTOLOAD)
aug.set('/augeas/load/Shellvars/lens', 'Shellvars.lns')
aug.set('/augeas/load/Shellvars/incl[last() + 1]', DEFAULT_FILE)
aug.set('/augeas/load/Phpvars/lens', 'Phpvars.lns')
aug.set('/augeas/load/Phpvars/incl[last() + 1]', CONFIG_FILE)
aug.load()
return aug
def main():

View File

@ -58,13 +58,15 @@ def init():
def setup(helper, old_version=None):
"""Install and configure the module."""
helper.install(['tt-rss'])
helper.install(['tt-rss', 'postgresql', 'dbconfig-pgsql', 'php5-pgsql'])
helper.call('post', actions.superuser_run, 'ttrss', ['setup'])
helper.call('post', service.notify_enabled, None, True)
def get_status():
"""Get the current settings."""
return {'enabled': is_enabled()}
return {'enabled': is_enabled(),
'is_running': is_running()}
def is_enabled():
@ -72,6 +74,11 @@ def is_enabled():
return action_utils.webserver_is_enabled('50-tt-rss')
def is_running():
"""Return whether the service is running."""
return action_utils.service_is_running('tt-rss')
def enable(should_enable):
"""Enable/disable the module."""
sub_command = 'enable' if should_enable else 'disable'

View File

@ -23,6 +23,18 @@
{% block configuration %}
<h3>{% trans "Status" %}</h3>
<p class="running-status-parent">
{% if status.is_running %}
<span class="running-status active"></span>
{% trans "Tiny Tiny RSS feed update service is running" %}
{% else %}
<span class="running-status inactive"></span>
{% trans "Tiny Tiny RSS feed update service is not running" %}
{% endif %}
</p>
{% include "diagnostics_button.html" with module="ttrss" %}