2022-06-04 09:13:53 +02:00
|
|
|
#!/usr/bin/python
|
|
|
|
# -*- coding: utf-8 -*-
|
2022-08-05 22:12:10 +02:00
|
|
|
# Copyright (c) 2022, Alexei Znamensky <russoz@gmail.com>
|
2022-08-05 12:28:29 +02:00
|
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
2022-06-04 09:13:53 +02:00
|
|
|
|
|
|
|
from __future__ import absolute_import, division, print_function
|
|
|
|
__metaclass__ = type
|
|
|
|
|
|
|
|
DOCUMENTATION = '''
|
|
|
|
module: gconftool2_info
|
|
|
|
author:
|
|
|
|
- "Alexei Znamensky (@russoz)"
|
|
|
|
short_description: Retrieve GConf configurations
|
|
|
|
version_added: 5.1.0
|
|
|
|
description:
|
|
|
|
- This module allows retrieving application preferences from the GConf database, with the help of C(gconftool-2).
|
2022-11-06 21:16:43 +01:00
|
|
|
extends_documentation_fragment:
|
|
|
|
- community.general.attributes
|
|
|
|
- community.general.attributes.info_module
|
2022-06-04 09:13:53 +02:00
|
|
|
options:
|
|
|
|
key:
|
|
|
|
description:
|
|
|
|
- The key name for an element in the GConf database.
|
|
|
|
type: str
|
|
|
|
required: true
|
|
|
|
notes:
|
|
|
|
- See man gconftool-2(1) for more details.
|
|
|
|
seealso:
|
|
|
|
- name: gconf repository (archived)
|
|
|
|
description: Git repository for the project. It is an archived project, so the repository is read-only.
|
|
|
|
link: https://gitlab.gnome.org/Archive/gconf
|
|
|
|
'''
|
|
|
|
|
|
|
|
EXAMPLES = """
|
|
|
|
- name: Get value for a certain key in the database.
|
|
|
|
community.general.gconftool2_info:
|
|
|
|
key: /desktop/gnome/background/picture_filename
|
|
|
|
register: result
|
|
|
|
"""
|
|
|
|
|
|
|
|
RETURN = '''
|
|
|
|
value:
|
|
|
|
description:
|
|
|
|
- The value of the property.
|
|
|
|
returned: success
|
|
|
|
type: str
|
|
|
|
sample: Monospace 10
|
|
|
|
'''
|
|
|
|
|
|
|
|
from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper
|
|
|
|
from ansible_collections.community.general.plugins.module_utils.gconftool2 import gconftool2_runner
|
|
|
|
|
|
|
|
|
|
|
|
class GConftoolInfo(ModuleHelper):
|
|
|
|
output_params = ['key']
|
|
|
|
module = dict(
|
|
|
|
argument_spec=dict(
|
|
|
|
key=dict(type='str', required=True, no_log=False),
|
|
|
|
),
|
|
|
|
supports_check_mode=True,
|
|
|
|
)
|
2024-05-26 13:56:49 +02:00
|
|
|
use_old_vardict = False
|
2022-06-04 09:13:53 +02:00
|
|
|
|
|
|
|
def __init_module__(self):
|
|
|
|
self.runner = gconftool2_runner(self.module, check_rc=True)
|
|
|
|
|
|
|
|
def __run__(self):
|
2022-11-15 21:02:45 +01:00
|
|
|
with self.runner.context(args_order=["state", "key"]) as ctx:
|
|
|
|
rc, out, err = ctx.run(state="get")
|
2022-06-04 09:13:53 +02:00
|
|
|
self.vars.value = None if err and not out else out.rstrip()
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
GConftoolInfo.execute()
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|