/
opt
/
alt
/
python27
/
lib
/
python2.7
/
site-packages
/
up file
home
� y vhc @ s d d l m 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 y d d l m Z Wn! e k r� d d l m Z n Xe Z d � Z d � Z d e j f d � � YZ d e f d � � YZ d � Z d d d � � YZ d S( i����( t divisionN( t OrderedDict( t suppressc C s t j t | � d d � S( s2 Given a path with elements separated by posixpath.sep, generate all parents of that path. >>> list(_parents('b/d')) ['b'] >>> list(_parents('/b/d/')) ['/b'] >>> list(_parents('b/d/f/')) ['b/d', 'b'] >>> list(_parents('b')) [] >>> list(_parents('')) [] i N( t itertoolst islicet _ancestryt None( t path( ( s5 /opt/alt/python27/lib/python2.7/site-packages/zipp.pyt _parents s c c sL | j t j � } x3 | rG | t j k rG | Vt j | � \ } } q Wd S( sR Given a path with elements separated by posixpath.sep, generate all elements of that path >>> list(_ancestry('b/d')) ['b/d', 'b'] >>> list(_ancestry('/b/d/')) ['/b/d', '/b'] >>> list(_ancestry('b/d/f/')) ['b/d/f', 'b/d', 'b'] >>> list(_ancestry('b')) ['b'] >>> list(_ancestry('')) [] N( t rstript posixpatht sept split( R t tail( ( s5 /opt/alt/python27/lib/python2.7/site-packages/zipp.pyR ( s t CompleteDirsc B sG e Z d Z e d � � Z d � Z d � Z d � Z e d � � Z RS( sk A ZipFile subclass that ensures that implied directories are always included in the namelist. c sJ t j j t t | � � } t | � � t j � f d � | D� � } | S( Nc 3 s/ | ]% } | t j � k r | t j Vq d S( N( R R ( t .0t p( t existing( s5 /opt/alt/python27/lib/python2.7/site-packages/zipp.pys <genexpr>K s ( R t chaint from_iterablet mapR t setR t fromkeys( t namest parentst implied_dirs( ( R s5 /opt/alt/python27/lib/python2.7/site-packages/zipp.pyt _implied_dirsD s c C s, t t | � j � } | t | j | � � S( N( t superR t namelistt listR ( t selfR ( ( s5 /opt/alt/python27/lib/python2.7/site-packages/zipp.pyR P s c C s t | j � � S( N( R R ( R ( ( s5 /opt/alt/python27/lib/python2.7/site-packages/zipp.pyt _name_setT s c C s<