??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó
àUdac @` s/ d d l m Z m Z m Z e Z d d l Z d d l Z d d l Z d d l Z d d l
Z
d d l Z d d l Z d d l
Z
d d l m Z d d l m Z m Z d d l m Z m Z m Z d d l m Z d d l m Z d d l m Z e d e d e d „ Z! d
„ Z" d e f d „ ƒ YZ# d S(
i ( t absolute_importt divisiont print_functionN( t constants( t AnsibleErrort AnsibleFileNotFound( t to_bytest to_nativet to_text( t boolean( t
ActionBase( t checksumc ` sŠ i g d 6g d 6g d 6‰ d t ‡ ‡ ‡ ‡ ‡ f d † ‰ t } | rW | | ƒ } n | j t j j ƒ } | d
k r | } n | sœ t j j | ƒ } n | j | ƒ rº t | ƒ } n | rÚ | | ƒ rÚ | d 7} n" | j t j j ƒ sü | d 7} n t j j | ƒ rFˆ rFi t j
| ƒ d 6t j j | ƒ d 6ˆ d <ˆ St j | ƒ } t
| j | j f f ƒ }
ˆ | | |
d | ƒˆ S( sh
Walk a filesystem tree returning enough information to copy the files.
This is similar to the _walk_dirs function in ``copy.py`` but returns
a dict instead of a tuple for each entry and includes the checksum of
a local file if wanted.
:arg topdir: The directory that the filesystem tree is rooted at
:arg loader: The self._loader object from ActionBase
:kwarg decrypt: Whether to decrypt a file encrypted with ansible-vault
:kwarg base_path: The initial directory structure to strip off of the
files for the destination directory. If this is None (the default),
the base_path is set to ``top_dir``.
:kwarg local_follow: Whether to follow symlinks on the source. When set
to False, no symlinks are dereferenced. When set to True (the
default), the code will dereference most symlinks. However, symlinks
can still be present if needed to break a circular link.
:kwarg trailing_slash_detector: Function to determine if a path has
a trailing directory separator. Only needed when dealing with paths on
a remote machine (in which case, pass in a function that is aware of the
directory separator conventions on the remote machine).
:kawrg whether to get the checksum of the local file and add to the dict
:returns: dictionary of dictionaries. All of the path elements in the structure are text string.
This separates all the files, directories, and symlinks along with
import information about each::
{
'files'; [{
src: '/absolute/path/to/copy/from',
dest: 'relative/path/to/copy/to',
checksum: 'b54ba7f5621240d403f06815f7246006ef8c7d43'
}, ...],
'directories'; [{
src: '/absolute/path/to/copy/from',
dest: 'relative/path/to/copy/to'
}, ...],
'symlinks'; [{
src: '/symlink/target/path',
dest: 'relative/path/to/copy/to'
}, ...],
}
The ``symlinks`` field is only populated if ``local_follow`` is set to False
*or* a circular symlink cannot be dereferenced. The ``checksum`` entry is set
to None if checksum_check=False.
t filest directoriest symlinksu c
` s xˆt j | ƒ D]w\ } } } x(| D] } t j j | | ƒ } t j j | | | ƒ }
t j j | ƒ rˆ j t j j | ƒ d ˆ ƒ} ˆ r× t j j | ƒ r× ˆ d j i | d 6|
d 6t | | ƒ d 6ƒ qFˆ d j i t j
| ƒ d 6|
d 6ƒ q&