%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/pillar/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyc

�
���^c@@s�dZddlmZmZmZddlmZddlZddlZddl	m
Z
eje�Z
d�Zde
fd��YZd	�ZdS(
u�
Retrieve Pillar data by doing a SQLite3 query

.. versionadded:: 2015.8.0

``sqlite3`` is included in the stdlib since Python 2.5.

This module is a concrete implementation of the sql_base ext_pillar for
SQLite3.

:platform: all

Configuring the sqlite3 ext_pillar
==================================

Use the 'sqlite3' key under ext_pillar for configuration of queries.

SQLite3 database connection configuration requires the following values
configured in the master config:

Note, timeout is in seconds.

.. code-block:: yaml

    sqlite3.database: /var/lib/salt/pillar.db
    sqlite3.timeout: 5.0


Complete Example
================

.. code-block:: yaml

    sqlite3:
      database: '/var/lib/salt/pillar.db'
      timeout: 5.0

    ext_pillar:
      - sqlite3:
          fromdb:
            query: 'SELECT col1,col2,col3,col4,col5,col6,col7
                      FROM some_random_table
                     WHERE minion_pattern LIKE ?'
            depth: 5
            as_list: True
            with_lists: [1,3]
i(tabsolute_importtprint_functiontunicode_literals(tcontextmanagerN(tSqlBaseExtPillarcC@stS(N(tTrue(((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyt__virtual__?stSQLite3ExtPillarcB@s5eZdZed��Zd�Zed��ZRS(uK
    This class receives and processes the database rows from SQLite3.
    cC@sdS(NuSQLite3((tcls((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyt_db_nameGscC@s�idd6dd6}i}i}dtkrQdtdkrQtjdi�}nxL|D]D}||kr�tjd|�||||<qXn||||<qXW|S(uB
        Returns options used for the SQLite3 connection.
        u/var/lib/salt/pillar.dbudatabaseg@utimeoutusqlite3u#Using default for SQLite3 pillar %s(t__opts__tgettlogtdebug(tselftdefaultst_optionst_optstattr((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyt_get_optionsKs


cc@s�|j�}tj|jd�dt|jd���}|j�}z9y	|VWn)tjk
r|}tjd|j	�nXWd|j
�XdS(u(
        Yield a SQLite3 cursor
        udatabasettimeoututimeoutuError in ext_pillar SQLite3: %sN(Rtsqlite3tconnectRtfloattcursortErrorRt	exceptiontargstclose(RRtconnRterr((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyt_get_cursor]s	(t__name__t
__module__t__doc__tclassmethodR	RRR(((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyRCs	cO@st�j||||�S(uE
    Execute queries against SQLite3, merge and return as a dict
    (Rtfetch(t	minion_idtpillarRtkwargs((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyt
ext_pillarns(R"t
__future__RRRt
contextlibRtloggingRtsalt.pillar.sql_baseRt	getLoggerR RRRR((((s7/usr/lib/python2.7/site-packages/salt/pillar/sqlite3.pyt<module>0s	+

Zerion Mini Shell 1.0