Metadata-Version: 1.1
Name: confset
Version: 0.0.51
Summary: A simple script to change or update package configurations
Home-page: http://github.com/dwighthubbard/confset
Author: Dwight Hubbard
Author-email: d@d-h.us
License: Apache 2.0
Description: confset
        *******
        
        .. image:: https://travis-ci.org/dwighthubbard/confset.svg?branch=master
            :target: https://travis-ci.org/dwighthubbard/confset
        
        Set and view values for package default settings from the command line.
        
        Installing confset
        ==================
        
        Confset is a normal python package and can be installed using pip.
        
        .. code-block::
        
            pip install confset
        
        Using confset from the command line
        ===================================
        
        Here are some simple examples of using the confset command from the
        command line.
        
        Showing all settings
        ~~~~~~~~~~~~~~~~~~~~
        
        Running confset without arguments will show all configuration
        settings on the system.
        
        .. code-block::
        
            $ confset
            console-setup.VERBOSE_OUTPUT="no"
            console-setup.ACTIVE_CONSOLES="/dev/tty[1-6]"
            console-setup.CHARMAP="UTF-8"
            console-setup.CODESET="Uni2"
            console-setup.FONTFACE="Fixed"
            console-setup.FONTSIZE="16"
            devpts.TTYGRP=5
            devpts.TTYMODE=620
            halt.HALT=poweroff
            keyboard.XKBMODEL="pc105"
            keyboard.XKBLAYOUT="us"
            keyboard.XKBVARIANT=""
            keyboard.XKBOPTIONS=""
            nss.ADJUNCT_AS_SHADOW=TRUE
            ntpdate.NTPDATE_USE_NTP_CONF=yes
            ntpdate.NTPSERVERS="ntp.ubuntu.com"
            ntpdate.NTPOPTIONS=""
            rcS.UTC=yes
            rsyslog.RSYSLOGD_OPTIONS=""
            useradd.SHELL=/bin/sh
            $
        
        
        Showing settings and any help comments associated with them
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        The --info flag tells confset to show the settings along with
        any comment or help text associated with the setting in the
        configuration file.
        
        .. code-block::
        
            $ confset --info
            console-setup.VERBOSE_OUTPUT="no"
            console-setup.ACTIVE_CONSOLES="/dev/tty[1-6]"
            console-setup.CHARMAP="UTF-8"
            console-setup.CODESET="Uni2"
            console-setup.FONTFACE="Fixed"
            console-setup.FONTSIZE="16"
            devpts.TTYGRP=5
            devpts.TTYMODE=620
            halt.HALT=poweroff
            keyboard.XKBMODEL="pc105"
            keyboard.XKBLAYOUT="us"
            keyboard.XKBVARIANT=""
            keyboard.XKBOPTIONS=""
            nss.ADJUNCT_AS_SHADOW=TRUE
            ntpdate.NTPDATE_USE_NTP_CONF=yes
            ntpdate.NTPSERVERS="ntp.ubuntu.com"
            ntpdate.NTPOPTIONS=""
            rcS.UTC=yes
            rsyslog.RSYSLOGD_OPTIONS=""
            useradd.SHELL=/bin/sh
            $ confset --info
            console-setup.VERBOSE_OUTPUT="no"             - Change to "yes" and setupcon will explain what is being doing
            console-setup.ACTIVE_CONSOLES="/dev/tty[1-6]" - Setup these consoles.  Most people do not need to change this.
            console-setup.CHARMAP="UTF-8"                 - Put here your encoding.  Valid charmaps are: UTF-8 ARMSCII-8 CP1251
                                                            CP1255 CP1256 GEORGIAN-ACADEMY GEORGIAN-PS IBM1133 ISIRI-3342
                                                            ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6
                                                            ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 ISO-8859-13
                                                            ISO-8859-14 ISO-8859-15 ISO-8859-16 KOI8-R KOI8-U TIS-620 VISCII
            console-setup.CODESET="Uni2"                  - The codeset determines which symbols are supported by the font.
                                                            Valid codesets are: Arabic Armenian CyrAsia CyrKoi CyrSlav Ethiopian
                                                            Georgian Greek Hebrew Lao Lat15 Lat2 Lat38 Lat7 Thai Uni1 Uni2 Uni3
                                                            Vietnamese.  Read README.fonts for explanation.
            console-setup.FONTFACE="Fixed"                - Valid font faces are: VGA (sizes 8, 14 and 16), Terminus (sizes
                                                            12x6, 14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBold (sizes
                                                            14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBoldVGA (sizes 14
                                                            and 16) and Fixed (sizes 13, 14, 15, 16 and 18).  Only when
                                                            CODESET=Ethiopian: Goha (sizes 12, 14 and 16) and
                                                            GohaClassic (sizes 12, 14 and 16).
                                                            Set FONTFACE and FONTSIZE to empty strings if you want setupcon to
                                                            set up the keyboard but to leave the console font unchanged.
            console-setup.FONTSIZE="16"
            devpts.TTYGRP=5                               - GID of the `tty' group
            devpts.TTYMODE=620                            - Set to 600 to have `mesg n' be the default
            halt.HALT=poweroff                            - Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff".
            keyboard.XKBMODEL="pc105"
            keyboard.XKBLAYOUT="us"
            keyboard.XKBVARIANT=""
            keyboard.XKBOPTIONS=""
            nss.ADJUNCT_AS_SHADOW=TRUE                    - /etc/default/nss
                                                            This file can theoretically contain a bunch of customization variables
                                                            for Name Service Switch in the GNU C library.  For now there are only
                                                            four variables:
                                                            NETID_AUTHORITATIVE
                                                            If set to TRUE, the initgroups() function will accept the information
                                                            from the netid.byname NIS map as authoritative.  This can speed up the
                                                            function significantly if the group.byname map is large.  The content
                                                            of the netid.byname map is used AS IS.  The system administrator has
                                                            to make sure it is correctly generated.
                                                            NETID_AUTHORITATIVE=TRUE
                                                            SERVICES_AUTHORITATIVE
                                                            If set to TRUE, the getservbyname{,_r}() function will assume
                                                            services.byservicename NIS map exists and is authoritative, particularly
                                                            that it contains both keys with /proto and without /proto for both
                                                            primary service names and service aliases.  The system administrator
                                                            has to make sure it is correctly generated.
                                                            SERVICES_AUTHORITATIVE=TRUE
                                                            SETENT_BATCH_READ
                                                            If set to TRUE, various setXXent() functions will read the entire
                                                            database at once and then hand out the requests one by one from
                                                            memory with every getXXent() call.  Otherwise each getXXent() call
                                                            might result into a network communication with the server to get
                                                            the next entry.
                                                            SETENT_BATCH_READ=TRUE
                                                            ADJUNCT_AS_SHADOW
                                                            If set to TRUE, the passwd routines in the NIS NSS module will not
                                                            use the passwd.adjunct.byname tables to fill in the password data
                                                            in the passwd structure.  This is a security problem if the NIS
                                                            server cannot be trusted to send the passwd.adjuct table only to
                                                            privileged clients.  Instead the passwd.adjunct.byname table is
                                                            used to synthesize the shadow.byname table if it does not exist.
            ntpdate.NTPDATE_USE_NTP_CONF=yes              - Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
                                                            so you only have to keep it in one place.
            ntpdate.NTPSERVERS="ntp.ubuntu.com"           - List of NTP servers to use  (Separate multiple servers with spaces.)
                                                            Not used if NTPDATE_USE_NTP_CONF is yes.
            ntpdate.NTPOPTIONS=""                         - Additional options to pass to ntpdate
            rcS.UTC=yes                                   - assume that the BIOS clock is set to UTC time (recommended)
            rsyslog.RSYSLOGD_OPTIONS=""                   - Options for rsyslogd
                                                            -x disables DNS lookups for remote messages
                                                            See rsyslogd(8) for more details
            useradd.SHELL=/bin/sh                         - Default values for useradd(8)
                                                            The SHELL variable specifies the default login shell on your
                                                            system.
                                                            Similar to DHSELL in adduser. However, we use "sh" here because
                                                            useradd is a low level utility and should be as general
                                                            as possible
            $
        
        See the settings and current values for the rsyslog daemon
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Here's an example of modifying the rsyslog daemon configuration file.  On
        Ubuntu this configuration is stored in the file /etc/default/rsyslog.  The
        default configuration file looks like this:
        
        .. code-block::
        
            # Options for rsyslogd
            # -x disables DNS lookups for remote messages
            # See rsyslogd(8) for more details
            RSYSLOGD_OPTIONS=""
        
        We can see by looking at the file above it only has a single configuration
        setting (RSYSLOGD_OPTIONS).  We can display the settings from this file
        using confset like this:
        
        .. code-block::
        
            $ confset --info rsyslog
            rsyslog.RSYSLOGD_OPTIONS="" - Options for rsyslogd
                                          -x disables DNS lookups for remote messages
                                          See rsyslogd(8) for more details
            $
        
        To disable DNS lookups, using confset we would run the following command:
        
        .. code-block::
        
            $ confset rsyslog.RSYSLOGD_OPTIONS='"-x"'
            $
        
        
        Now if we look at the configuration file the setting is at the new value.
        
        .. code-block::
        
            $ confset --info rsyslog
            rsyslog.RSYSLOGD_OPTIONS="-x"   - Options for rsyslogd
                                            -x disables DNS lookups for remote messages
                                            See rsyslogd(8) for more details
            $ cat /etc/default/rsyslog
            # Options for rsyslogd
            # -x disables DNS lookups for remote messages
            # See rsyslogd(8) for more details
            RSYSLOGD_OPTIONS="-x"
            $
        
        
        Using confset from python
        =========================
        
        Here are some simple examples of using the confset python module.
        
        Getting all system settings as a dictionary
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. code-block:: python
        
            >>> import confset
            >>> confset.settings()
            {'nss.ADJUNCT_AS_SHADOW': {'help': ['/etc/default/nss', 'This file can theoretically contain a bunch of customization variables', 'for Name Service Switch in the GNU C library.  For now there are only', 'four variables:', 'NETID_AUTHORITATIVE', 'If set to TRUE, the initgroups() function will accept the information', 'from the netid.byname NIS map as authoritative.  This can speed up the', 'function significantly if the group.byname map is large.  The content', 'of the netid.byname map is used AS IS.  The system administrator has', 'to make sure it is correctly generated.', 'NETID_AUTHORITATIVE=TRUE', 'SERVICES_AUTHORITATIVE', 'If set to TRUE, the getservbyname{,_r}() function will assume', 'services.byservicename NIS map exists and is authoritative, particularly', 'that it contains both keys with /proto and without /proto for both', 'primary service names and service aliases.  The system administrator', 'has to make sure it is correctly generated.', 'SERVICES_AUTHORITATIVE=TRUE', 'SETENT_BATCH_READ', 'If set to TRUE, various setXXent() functions will read the entire', 'database at once and then hand out the requests one by one from', 'memory with every getXXent() call.  Otherwise each getXXent() call', 'might result into a network communication with the server to get', 'the next entry.', 'SETENT_BATCH_READ=TRUE', 'ADJUNCT_AS_SHADOW', 'If set to TRUE, the passwd routines in the NIS NSS module will not', 'use the passwd.adjunct.byname tables to fill in the password data', 'in the passwd structure.  This is a security problem if the NIS', 'server cannot be trusted to send the passwd.adjuct table only to', 'privileged clients.  Instead the passwd.adjunct.byname table is', 'used to synthesize the shadow.byname table if it does not exist.'], 'value': 'TRUE'}, 'keyboard.XKBOPTIONS': {'help': [], 'value': '""'}, 'devpts.TTYGRP': {'help': ["GID of the `tty' group"], 'value': '5'}, 'keyboard.XKBVARIANT': {'help': [], 'value': '""'}, 'console-setup.ACTIVE_CONSOLES': {'help': ['Setup these consoles.  Most people do not need to change this.'], 'value': '"/dev/tty[1-6]"'}, 'keyboard.XKBMODEL': {'help': [], 'value': '"pc105"'}, 'ntpdate.NTPOPTIONS': {'help': ['Additional options to pass to ntpdate'], 'value': '""'}, 'console-setup.FONTSIZE': {'help': [], 'value': '"16"'}, 'console-setup.CODESET': {'help': ['The codeset determines which symbols are supported by the font.', 'Valid codesets are: Arabic Armenian CyrAsia CyrKoi CyrSlav Ethiopian', 'Georgian Greek Hebrew Lao Lat15 Lat2 Lat38 Lat7 Thai Uni1 Uni2 Uni3', 'Vietnamese.  Read README.fonts for explanation.'], 'value': '"Uni2"'}, 'useradd.SHELL': {'help': ['Default values for useradd(8)', 'The SHELL variable specifies the default login shell on your', 'system.', 'Similar to DHSELL in adduser. However, we use "sh" here because', 'useradd is a low level utility and should be as general', 'as possible'], 'value': '/bin/sh'}, 'ntpdate.NTPSERVERS': {'help': ['List of NTP servers to use  (Separate multiple servers with spaces.)', 'Not used if NTPDATE_USE_NTP_CONF is yes.'], 'value': '"ntp.ubuntu.com"'}, 'console-setup.CHARMAP': {'help': ['Put here your encoding.  Valid charmaps are: UTF-8 ARMSCII-8 CP1251', 'CP1255 CP1256 GEORGIAN-ACADEMY GEORGIAN-PS IBM1133 ISIRI-3342', 'ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6', 'ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 ISO-8859-13', 'ISO-8859-14 ISO-8859-15 ISO-8859-16 KOI8-R KOI8-U TIS-620 VISCII'], 'value': '"UTF-8"'}, 'rsyslog.RSYSLOGD_OPTIONS': {'help': ['Options for rsyslogd', '-x disables DNS lookups for remote messages', 'See rsyslogd(8) for more details'], 'value': '"-x"'}, 'console-setup.VERBOSE_OUTPUT': {'help': ['Change to "yes" and setupcon will explain what is being doing'], 'value': '"no"'}, 'keyboard.XKBLAYOUT': {'help': [], 'value': '"us"'}, 'rcS.UTC': {'help': ['assume that the BIOS clock is set to UTC time (recommended)'], 'value': 'yes'}, 'devpts.TTYMODE': {'help': ["Set to 600 to have `mesg n' be the default"], 'value': '620'}, 'console-setup.FONTFACE': {'help': ['Valid font faces are: VGA (sizes 8, 14 and 16), Terminus (sizes', '12x6, 14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBold (sizes', '14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBoldVGA (sizes 14', 'and 16) and Fixed (sizes 13, 14, 15, 16 and 18).  Only when', 'CODESET=Ethiopian: Goha (sizes 12, 14 and 16) and', 'GohaClassic (sizes 12, 14 and 16).', 'Set FONTFACE and FONTSIZE to empty strings if you want setupcon to', 'set up the keyboard but to leave the console font unchanged.'], 'value': '"Fixed"'}, 'ntpdate.NTPDATE_USE_NTP_CONF': {'help': ['Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,', 'so you only have to keep it in one place.'], 'value': 'yes'}, 'halt.HALT': {'help': ['Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff".'], 'value': 'poweroff'}}
            >>>
        
        Changing the ryslog RSYSLOGD_OPTIONS
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. code-block:: python
        
        >>> rsyslog_settings = confset.ConfigSettings('rsyslog')
        >>> rsyslog_settings.set('RSYSLOGD_OPTIONS', '"-x"')
        >>> rsyslog_settings.print_settings()
        rsyslog.RSYSLOGD_OPTIONS="-x"
        >>>
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
Classifier: Operating System :: POSIX :: SunOS/Solaris
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires: configobj
