Anons79 Mini Shell

Directory : /proc/self/root/lib/python2.7/site-packages/ansible/module_utils/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/ansible/module_utils/postgres.pyo

�
�Udac@s�dZyddlZeZWnek
r5eZnXddlmZddlm	Z	ddl
mZddlm
Z
d�Zd�Zeed�Zdeeed	�Zed
�ZdS(i����N(tmissing_required_lib(t	to_native(t	iteritems(tLooseVersioncCs�tdtdd�dtdddt�dtdd�dtdd�d	td
dddd
dg�dtdddddddddg�dtd
dg��S(sx
    Return a dictionary with connection options.

    The options are commonly used by most of PostgreSQL modules.
    t
login_usertdefaulttpostgrestlogin_passwordttno_logt
login_hosttlogin_unix_sockettportttypetinti8taliasest
login_porttssl_modetprefertchoicestallowtdisabletrequires	verify-casverify-fulltca_certtssl_rootcert(tdicttTrue(((sA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pytpostgres_common_argument_spec+s'cCscts|jdtd��n|jjd�r_ttj�td�kr_|jdd�ndS(sCheck required libraries.tmsgtpsycopg2Rs2.4.3sEpsycopg2 must be at least 2.4.3 in order to use the ca_cert parameterN(tHAS_PSYCOPG2t	fail_jsonRtparamstgetRRt__version__(tmodule((sA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pytensure_required_libs<s-cCs�t|�d}y�tj|�}|rlttj�td�krV|jdt�ql|jtj	j
�n|jjd�r�|j
dtjj�}zPy|jd|jd�Wn-tk
r�}|jddt|��nXWd|j�XnWn�tk
rs}d	|jd
kr0|jdd�n|rS|jddt|��q�|jd
t|��d}nStk
r�}|r�|jddt|��q�|jd
t|��d}nX|S(s�Connect to a PostgreSQL database.

    Return psycopg2 connection object.

    Args:
        module (AnsibleModule) -- object of ansible.module_utils.basic.AnsibleModule class
        conn_params (dict) -- dictionary with connection parameters

    Kwargs:
        autocommit (bool) -- commit automatically (default False)
        fail_on_conn (bool) -- fail if connection failed or just warn and return None (default True)
    s2.4.2t
autocommittsession_roletcursor_factorysSET ROLE %sRsCould not switch role: %sNtsslrootcertisEPostgresql server must be at least version 8.4 to support sslrootcerts!unable to connect to database: %ss$PostgreSQL server is unavailable: %s(R$tNoneRtconnectRR"tset_sessionRtset_isolation_levelt
extensionstISOLATION_LEVEL_AUTOCOMMITR R!tcursortextrast
DictCursortexecutet	ExceptionRRtcloset	TypeErrortargstwarn(R#tconn_paramsR%tfail_on_connt
db_connectionR/te((sA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pyt
connect_to_dbEs:
"	
cCs|r8|jj||�}|r4|jj|�ntSy�|dk	r]|jj||�n|jj|�|r�|dk	r�|jj|jj||��q�|jj|�n|s�|jj�}|StSWn6tk
r
}|j	j
dd|t|�f�nXtS(s�Execute SQL.

    Auxiliary function for PostgreSQL user classes.

    Returns a query result if possible or True/False if ddl=True arg was passed.
    It necessary for statements that don't return any result (like DDL queries).

    Args:
        obj (obj) -- must be an object of a user class.
            The object must have module (AnsibleModule class object) and
            cursor (psycopg cursor object) attributes
        query (str) -- SQL query to execute

    Kwargs:
        query_params (dict or tuple) -- Query parameters to prevent SQL injections,
            could be a dict or tuple
        ddl (bool) -- must return True or False instead of rows (typical for DDL queries)
            (default False)
        add_to_executed (bool) -- append the query to obj.executed_queries attribute
        dont_exec (bool) -- used with add_to_executed=True to generate a query, add it
            to obj.executed_queries list and return True (default False)
    RsCannot execute SQL '%s': %sN(
R/tmogrifytexecuted_queriestappendRR)R2tfetchallR3R#RRtFalse(tobjtquerytquery_paramstddltadd_to_executedt	dont_exectresR;((sA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pytexec_sql|s("'csidd6dd6dd6dd6dd	6d
d6�|jd�rLd
�d<nN|jd
�rhd
�d
<n2|jd�r�d
�d<n|r�|jd�nt�fd�t|�D��}d|kp�|ddkp�|ddk}|r|ddkr|d|d<n|S(s�Get connection parameters from the passed dictionary.

    Return a dictionary with parameters to connect to PostgreSQL server.

    Args:
        module (AnsibleModule) -- object of ansible.module_utils.basic.AnsibleModule class
        params_dict (dict) -- dictionary with variables

    Kwargs:
        warn_db_default (bool) -- warn that the default DB is used (default True)
    thostR
tuserRtpasswordRRtsslmodeRR(Rtdbtdatabasetlogin_dbsGDatabase name has not been passed, used default database to connect to.c3sI|]?\}}|�kr|dkr|dk	r�||fVqdS(RN(R)(t.0tktv(t
params_map(sA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pys	<genexpr>�s	t	localhostRRN(R!R7RRR)(R#tparams_dicttwarn_db_defaulttkwtis_localhost((RTsA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pytget_conn_params�s(



",(R)RRRtImportErrorRAtansible.module_utils.basicRtansible.module_utils._textRtansible.module_utils.sixRtdistutils.versionRRR$R<RIRZ(((sA/usr/lib/python2.7/site-packages/ansible/module_utils/postgres.pyt<module>s


			76

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]