��
r�$Lc�����������@���s����d��Z��d�d�k�Z�d�d�k�Z�d����Z�d����Z�d����Z�h��Z�d�d�d�d	�d
�d�d�d
�d�g	�Z�x1�e�D])�Z	�d�e�e	�<d�e�e�i
�i�i�e	���<qg�Wd����Z
�d�d���Z�d�d���Z�d�S(���s>���src/engine/SCons/Scanner/Dir.py 5023 2010/06/14 22:05:46 sconsi����Nc���������C���s���d����}�t��t�|�|������S(���Nc���������S���s���t��|��i����t�i�i�i���S(����(���t
���isinstancet���disambiguatet���SConst���Nodet���FSt���Dir(���t���n(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyt���<lambda>���s����(���t���listt���filter(���t���nodest���is_Dir(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyt	���only_dirs���s����	c����������K���s3���t��i�i�i�|��d�<t�|��d�<t��i�i�t�d�|����S(���sR���Return a prototype Scanner instance for scanning
    directories for on-disk filest���node_factoryt	���recursivet
���DirScanner(���R���R���R���t���EntryR���t���Scannert���Baset���scan_on_disk(���t���kw(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyR��� ���s����
c����������K���s3���t��i�i�i�|��d�<d�|��d�<t��i�i�t�d�|����S(���sb���Return a prototype Scanner instance for "scanning"
    directory Nodes for their in-memory entriesR
���R���t���DirEntryScannerN(���R���R���R���R���t���NoneR���R���t���scan_in_memory(���R���(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyR���'���s����
t���.s���..s	���.sconsigns���.sconsign.dblites
���.sconsign.dirs
���.sconsign.pags
���.sconsign.dats
���.sconsign.baks���.sconsign.dbi���c���������C���s
���|��t��j�S(����(���t
���skip_entry(���t���k(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyR���E���s����c������	���C���sw���y�|��i��i�|��i���}�Wn�t�t�f�j
�o�g��SX|��i�}�x%�t�t�|���D]�}�|�d�|���qO�Wt�|��|�|���S(���s��
    Scans a directory for on-disk files and directories therein.

    Looking up the entries will add these to the in-memory Node tree
    representation of the file system, so all we have to do is just
    that and then call the in-memory scanning function.
    s���./(	���t���fst���listdirt���abspatht���IOErrort���OSErrorR���R	���t���do_not_scanR���(���t���nodet���envt���patht���flistt���et���f(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyR���G���s����	�c���������C���sh���y
�|��i��}�Wn�t�j
�o�g��SXt�t�t�t�|�i����������}�g��}�|�D]�}�|�|�|�qP�~�S(���s:���
    "Scans" a Node.FS.Dir for its in-memory entries.
    (���t���entriest���AttributeErrort���sortedR	���R ���R���t���keys(���R!���R"���R#���R'���t
���entry_listt���_[1]R���(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyR���Z���s����
!(����(����(���t���__revision__t
���SCons.Node.FSR���t
���SCons.ScannerR���R���R���R���t���skip_entry_listt���skipR���R���t���_my_normcaseR ���R���R���(����(����(����s4���install/lib/scons-2.0.0.final.0/SCons/Scanner/Dir.pyt���<module>���s,���				�