Source code for insights.parsers.odbc

"""
obdc configuration file - Files
===============================

Shared mappers for parsing and extracting data from ``/etc/odbc.ini`` and
``/etc/odbcinst.ini`` files. Parsers contained in this module are:

ODBCIni - file ``/etc/odbc.ini``
--------------------------------

ODBCinstIni - file ``/etc/odbcinst.ini``
----------------------------------------
"""
from insights.core import IniConfigFile
from insights.core.filters import add_filter
from insights.core.plugins import parser
from insights.specs import Specs

# Since the key values in file odbc.ini is case insensitive,
# and curent filter_list is not support case insensitive,
# will add several duplicate keys here to filter out more useful data.
filter_list = [
        '[',
        'DRIVER', 'Driver', 'driver',
        'SERVER', 'Server', 'server',
        'NO_SSPS', 'No_ssps', 'no_ssps',
]
add_filter(Specs.odbc_ini, filter_list)


[docs] @parser(Specs.odbc_ini) class ODBCIni(IniConfigFile): """ The ``/etc/odbc.ini`` file is in a standard '.ini' format, and this parser uses the IniConfigFile base class to read this. Sample command output:: [myodbc5w] Driver = /usr/lib64/libmyodbc5w.so Description = DSN to MySQL server SERVER = localhost NO_SSPS = 1 [mysqlDSN] Driver = /usr/lib64/libmyodbc5.so SERVER = localhost [myodbc] Driver=MySQL SERVER=localhost #NO_SSPS=1 Example: >>> odbcini.sections() ['myodbc5w', 'mysqlDSN', 'myodbc'] >>> odbcini.has_option('myodbc5w', 'Driver') True >>> odbcini.get('myodbc5w', 'Driver') '/usr/lib64/libmyodbc5w.so' >>> odbcini.getint('myodbc5w', 'NO_SSPS') 1 """ pass
[docs] @parser(Specs.odbcinst_ini) class ODBCinstIni(IniConfigFile): """ The ``/etc/odbcinst.ini`` file is in a standard '.ini' format, and this parser uses the IniConfigFile base class to read this. Sample command output:: # Driver from the postgresql-odbc package # Setup from the unixODBC package [PostgreSQL] Description = ODBC for PostgreSQL Driver = /usr/lib/psqlodbcw.so Setup = /usr/lib/libodbcpsqlS.so Driver64 = /usr/lib64/psqlodbcw.so Setup64 = /usr/lib64/libodbcpsqlS.so FileUsage = 1 # Driver from the mysql-connector-odbc package # Setup from the unixODBC package [MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc5.so Setup = /usr/lib/libodbcmyS.so Driver64 = /usr/lib64/libmyodbc5.so Setup64 = /usr/lib64/libodbcmyS.so FileUsage = 1 Example: >>> odbcinstinit.sections() ['PostgreSQL', 'MySQL'] >>> odbcinstinit.has_option('PostgreSQL', 'Driver') True >>> odbcinstinit.get('PostgreSQL', 'Driver') '/usr/lib/psqlodbcw.so' >>> odbcinstinit.getint('PostgreSQL', 'FileUsage') 1 """ pass