??????????????
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 m Z m
Z
d d l m Z d d l
m Z m Z m Z d d d d d
g Z e j j e s» e d j e n e j j e j Z e d d Z d d
Z d Z e d Z d Z d Z! d Z" d Z# d Z$ d Z% d S( i ( t absolute_importt divisiont print_functionN( t EEXISTt ENOENT( t AnsibleError( t to_bytest to_nativet to_textt unfrackpatht
makedirs_safet cs_existst cs_isdirt cs_isfilesD unable to determine filesystem case-sensitivity ({0} does not exist)c C` sρ t | d d d d } | d k r? t t j d d } n' t j j | rf t j j | } n t j j t j j t | d d } t j j | sΊ t j j
| | } n | rΥ t j j | } n t t j j
| d d S( s°
Returns a path that is free of symlinks (if follow=True), environment variables, relative path traversals and symbols (~)
:arg path: A byte or text string representing a path to be canonicalized
:arg follow: A boolean to indicate of symlinks should be resolved or not
:raises UnicodeDecodeError: If the canonicalized version of the path
contains non-utf8 byte sequences.
:rtype: A text string (unicode on pyyhon2, str on python3).
:returns: An absolute path with symlinks, environment variables, and tilde
expanded. Note that this does not check whether a path exists.
example::
'$HOME/../../var/mail' becomes '/var/spool/mail'
t errorst surrogate_or_strictt nonstringt passthruN( R t Nonet ost getcwdt patht isfilet dirnamet
expandusert
expandvarst isabst joint realpathR t normpath( R t followt basedirt b_basedirt b_final_path( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyR $ s *c C` s₯ t | } t | } t j j | s‘ y* | rF t j | | n
t j | Wq‘ t k
r } | j t k r t d t
| t
| f q q‘ Xn d S( s·
A *potentially insecure* way to ensure the existence of a directory chain. The "safe" in this function's name
refers only to its ability to ignore `EEXIST` in the case of multiple callers operating on the same part of
the directory chain. This function is not safe to use under world-writable locations when the first level of the
path to be created contains a predictable component. Always create a randomly-named element first if there is any
chance the parent directory might be world-writable (eg, /tmp) to prevent symlink hijacking and potential
disclosure or modification of sensitive file contents.
:arg path: A byte or text string representing a directory chain to be created
:kwarg mode: If given, the mode to set the directory to
:raises AnsibleError: If the directory cannot be created and does not already exist.
:raises UnicodeDecodeError: if the path is not decodable in the utf-8 encoding.
s* Unable to create local directories(%s): %sN( R R R R t existst makedirst OSErrort errnoR R R ( R t modet rpatht b_rpatht e( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyR
F s c C` s t | d d } d } t j j | r3 | } nB | d k rN t j } n' t j j | ru t j j | } n | r t j j | } n t | d d S( s- returns directory for inventory or playbook R R t t .N( NR* R+ (
R R R R t isdirR R R t abspathR ( t sourcet dname( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyR b s c C` sΝ y΅ t j j | r΄ yH t j j | r: t j | n" t j j | r\ t j | n Wq΄ t k
r° } | r± d d l m
} | } | j d j t
| q± q΄ Xn Wn t k
rΘ n Xd S( s
Removes temporary file or directory. Optionally display a warning if unable
to remove the file or directory.
:arg path: Path to file or directory to be removed
:kwarg warn: Whether or not to display a warning when the file or directory
cannot be removed
i ( t Displayu# Unable to remove temporary file {0}N( R R R" R, t shutilt rmtreeR t unlinkt Exceptiont ansible.utils.displayR0 t displayt formatR ( R t warnR) R0 R6 ( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyt cleanup_tmp_filet s *
c C` s t } t | d t } t | d t } | j t j j } | j t j j } y | t | | k } Wn t k
r n X| S( s
Compares paths to check if one is contained in the other
:arg: child: Path to test
:arg parent; Path to test against
R ( t FalseR t splitR R t sept lent
IndexError( t childt parentt testt abs_childt
abs_parentt ct p( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyt
is_subpath s
c ` sQ t j j | \ } s" t St f d t j | D oP t | S( s?
Standalone case-sensitive existence check for case-insensitive filesystems. This assumes the parent
dir exists and is otherwise accessible by the caller.
:param path: a bytes or text path string to check for existence
:return: True if the path exists and the paths pass a case-sensitive comparison
c 3` s! | ] } | k r | Vq d S( N( ( t .0RE ( t leaf( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pys ³ s ( R R R; t Truet anyt listdirR ( R R@ ( ( RH s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyt _explicit_case_sensitive_exists₯ s c O` s t | | | } yY t rj t | rj y
t } Wn t k
rK t } n X| t t j t | n Wn t k
r | j
n X| S( s+
A replacement for open that behaves case-sensitively on case-insensitive filesystems (passes through all args to underlying platform open)
:param file: a bytes or text path string to open
:return: a file descriptor if the file exists and the path passes a case-sensitive comparison
( t opent _is_case_insensitive_fsRL t FileNotFoundErrort NameErrort IOErrorR R t strerrorR4 t close( t filet argst kwargst fdt extype( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyt cs_openΆ s
"
c C` s. t j j | } t s | r$ | St | S( sώ
A replacement for os.path.exists that behaves case-sensitive on case-insensitive filesystems
:param path: a bytes or text path string to check for existence
:return: True if the path exists and the paths pass a case-sensitive comparison
( R R R" RN RL ( R t
raw_exists( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyR Λ s c C` s# t j j | o" t p" t | S( s
A replacement for os.path.isdir that behaves case-sensitive on case-insensitive filesystems
:param path: a bytes or text path string to check if isdir
:return: True if the path is a dir (or resolves to one) and the paths pass a case-sensitive comparison
( R R R, RN RL ( R ( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyR Ω s c C` s# t j j | o" t p" t | S( s
A replacement for os.path.isfile that behaves case-sensitive on case-insensitive filesystems
:param path: a bytes or text path string to check if isfile
:return: True if the path is a file (or resolves to one) and the paths pass a case-sensitive comparison
( R R R RN RL ( R ( ( s6 /usr/lib/python2.7/site-packages/ansible/utils/path.pyR
β s (&