�
�Udac @` s� d d l m Z m Z m Z e Z d d l Z d d l Z d d l m Z d d l m
Z
d e
j f d � � YZ d e
j f d � � YZ
d d d d d d � Z d S(
i ( t absolute_importt divisiont print_functionN( t timeout( t collectort AnsibleFactCollectorc B` s8 e Z d Z d d d d � Z d � Z d d d � Z RS( sm A FactCollector that returns results under 'ansible_facts' top level key.
If a namespace if provided, facts will be collected under that namespace.
For ex, a ansible.module_utils.facts.namespace.PrefixFactNamespace(prefix='ansible_')
Has a 'from_gather_subset() constructor that populates collectors based on a
gather_subset specifier.c C` s, t t | � j d | d | � | | _ d S( Nt
collectorst namespace( t superR t __init__t filter_spec( t selfR R R
( ( sP /usr/lib/python2.7/site-packages/ansible/module_utils/facts/ansible_collector.pyR 0 s c C` sR | s | d k r | Sg | j � D]* \ } } t j | | � r$ | | f ^ q$ S( Nt *( t itemst fnmatch( R t
facts_dictR
t xt y( ( sP /usr/lib/python2.7/site-packages/ansible/module_utils/facts/ansible_collector.pyt _filter7 s c C` s� | p i } i } x� | j D]� } i } y | j d | d | � } Wn9 t k
r } t j j t | � � t j j d � n X| j | j � � | j | j | | j
� � q W| S( Nt modulet collected_factss
( R t collect_with_namespacet Exceptiont syst stderrt writet reprt updatet copyR R
( R R R R t
collector_objt info_dictt e( ( sP /usr/lib/python2.7/site-packages/ansible/module_utils/facts/ansible_collector.pyt collect>