
e#]c           @   su  d  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 e j e	  Z
 d Z e j j e j j e j j e  d   Z d   Z d d l m Z d d l Z d e f d	     YZ d
 e j f d     YZ d e j f d     YZ d e j j j f d     YZ d e j j j e j f d     YZ  d e  f d     YZ! d e f d     YZ" d S(   s   Classes and global objects related to archiving U{XML
Namespaces<http://www.w3.org/TR/2006/REC-xml-names-20060816/index.html>}.iN(   t   sixt   PYXB_ARCHIVE_PATHs   ../..c           C   s   t  j j t  S(   su   Return the archive path as defined by the L{PathEnvironmentVariable},
    or C{None} if that variable is not defined.(   t   ost   environt   gett   PathEnvironmentVariable(    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   GetArchivePath*   s    (   t   cPicklet   NamespaceArchivec           B   s  e  Z d  Z d Z e d    Z d Z e d    Z d$ Z	 d$ Z
 d   Z e d$ d   Z e j d  Z e d$ e d   Z d	   Z d$ Z d
   Z d$ Z d   Z d$ Z d   Z d   Z d$ Z e d    Z d Z d Z d Z d Z d Z  e  Z! d   Z" d$ Z# d$ d$ e$ d$ d  Z% d   Z& d   Z' d   Z( d$ Z) d   Z* d   Z+ d   Z, d   Z- d   Z. d   Z/ d   Z0 d$ Z1 d    Z2 d!   Z3 d"   Z4 d#   Z5 RS(%   se   Represent a file from which one or more namespaces can be read, or to
    which they will be written.t   200907190858c         C   s   |  j  S(   s   The category name to use when storing references to anonymous type
        definitions.  For example, attribute definitions defined within an
        attribute use in a model group definition.that can be referenced frojm
        ax different namespace.(   t$   _NamespaceArchive__AnonymousCategory(   t   cls(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _AnonymousCategory<   s    t   _anonymousTypeDefinitionc         C   s   t  j S(   s   Return a reference to a set specifying the namespace instances that
        are being archived.

        This is needed to determine whether a component must be serialized as
        aa reference.(   R   t"   _NamespaceArchive__PicklingArchive(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   PicklingArchiveE   s    
c         C   s5   |  j  |  j   =x |  j D] } | j |   q Wd S(   s   Remove this archive from the set of available archives.

        This is invoked when an archive contains a namespace that the user has
        specified should not be loaded.N(   t$   _NamespaceArchive__NamespaceArchivest   generationUIDt   _NamespaceArchive__namespacest   _removeArchive(   t   selft   ns(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   discardY   s    c         C   sf   t  d | d |  j  } |  j j | j   |  } | | k rU | |  j | j   <n  | j |  | S(   s   Return a L{NamespaceArchive} instance associated with the given file.

        To the extent possible, the same file accessed through different paths
        returns the same L{NamespaceArchive} instance.
        t   archive_patht   stage(   R   t
   _STAGE_uidR   R   R   t   _readToStage(   R   t   archive_fileR   t   nsat   rv(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __GetArchiveInstanceb   s    s   \.wxs$c         C   s:  d d l  m } | p. | d k	 p. |  j d k } | r6|  j d k rR i  |  _ n  t t j |  j   } t   } | d k r t   } n  | d k	 rt j	 j
 j | |  j d d d t   d d d t } x | D]y } y) |  j | d	 |  j } | j |  Wq t j k
 r)t j d
 |  q t j k
 rLt j d |  q Xq Wt t |  d d   }	 |	 j   i  }
 x | D] } | |
 | j   <qWt j	 j
 j   } x |	 D] } | j   } d t |  k  rQx | D]i } | j | k rqn  |
 j |  } | d k r:t j d | |  | j  |  q| j! | |  qWq| j" |  qW| j#   } x | D] } d t |  k  rt j$ d d j% g  | D] } | j&   ^ q   n  | d } | | k ru| j'   | j  |  quququWn  x4 | j( |  D]  } t j) d |  | j'   qWn  d S(   sN  Scan for available archives, associating them with namespaces.

        This only validates potential archive contents; it does not load
        namespace data from the archives.

        @keyword archive_path: A list of files or directories in which
        namespace archives can be found.  The entries are separated by
        os.pathsep, which is a colon on POSIX platforms and a semi-colon on
        Windows.  See L{PathEnvironmentVariable}.  Defaults to
        L{GetArchivePath()}.  If not defaulted, C{reset} will be forced to
        C{True}.  For any directory in the path, all files ending with
        C{.wxs} are examined.

        @keyword reset: If C{False} (default), the most recently read set of
        archives is returned; if C{True}, the archive path is re-scanned and the
        namespace associations validated.
        i(   t   builtint   default_path_wildcardt   +t   default_patht   prefix_patternt   &t   prefix_substituendR   s   Cannot unpickle archive %ss   Cannot process archive %st   keyc         S   s
   |  j    S(   N(   t   archivePath(   t   _a(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   <lambda>   s    i    s$   %s depends on unavailable archive %si   s5   Cycle in archive dependencies.  How'd you do that?
  s   
  s   Discarding excluded archive %sN(*   t   pyxb.namespaceR   t   NoneR   t   setR    t
   itervaluesR   t   pyxbt   utilst   utilityt   GetMatchingFilest$   _NamespaceArchive__ArchivePattern_ret   DefaultArchivePrefixt%   _NamespaceArchive__GetArchiveInstancet   _STAGE_readModulest   addt   picklet   UnpicklingErrort   _logt	   exceptiont   NamespaceArchiveErrort   sortedt   listt   reverseR   t   Grapht   _unsatisfiedModulePrerequisitest   lent   BuiltInObjectUIDR   t   warningt   removet   addEdget   addRoott   sccOrdert
   LogicErrort   joinR'   R   t
   differencet   info(   R   R   t   resetR   t   existing_archivest   archive_sett   candidate_filest   afnR   t   ordered_archivest   archive_mapt   at   archive_grapht   prereqst   pt   dat   archive_scct   sccR(   t   archive(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   PreLoadArchivess   sf    !	
8

c         C   s   |  j  S(   s;   Path to the file in which this namespace archive is stored.(   t   _NamespaceArchive__archivePath(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR'      s    c         C   s   |  j  S(   sD   The unique identifier for the generation that produced this archive.(   t    _NamespaceArchive__generationUID(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR      s    c         C   s   |  j  S(   so   Return C{True} iff it is permissible to load the archive.
        Archives created for output cannot be loaded.(   t   _NamespaceArchive__isLoadable(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt
   isLoadable   s    c         C   s   t    |  _ t    } xz t j j j   D]f } | j   r@ q( n  | j |  j    } | d  k	 r( | j
 |  | j |   |  j j
 |  q( q( W|  j j |  d  S(   N(   R,   t    _NamespaceArchive__moduleRecordsR.   t	   namespaceR0   t   AvailableNamespacest   isUndeclaredNamespacet   lookupModuleRecordByUIDR   R+   R6   t   prepareForArchiveR   t   update(   R   t
   namespacesR   t   mr(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __locateModuleRecords   s    	c         C   s   |  j  S(   sy   Return the set of L{module records <ModuleRecord>} stored in this
        archive.

        Each module record represents(   R`   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   moduleRecords   s    c         C   s   |  j  |  S(   sT   Return the L{NamespaceArchive} instance that can be found at the
        given path.(   R4   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   ForPath   s    i    i   i   i   i   c         C   s   |  j  S(   N(   t   _NamespaceArchive__stage(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _stage  s    c         C   s   t    |  _ | d k	 rF | r0 t j d   n  | |  _ |  j   n| | d k	 r | d k	 rp t j d   n  | |  _ |  j |  _	 | |  _
 |  j
 r | d k r |  j } n  |  j |  q n  d S(   sB  Create a new namespace archive.

        If C{namespaces} is given, this is an output archive.

        If C{namespaces} is absent, this is an input archive.

        @raise IOError: error attempting to read the archive file
        @raise pickle.UnpicklingError: something is wrong with the format of the library
        s@   NamespaceArchive: cannot define both namespaces and archive_pathsA   NamespaceArchive: cannot provide generation_uid with archive_pathN(   R,   R   R+   R.   RH   R]   t&   _NamespaceArchive__locateModuleRecordsR\   t   _STAGE_UNOPENEDRl   R^   t   _STAGE_moduleRecordsR   (   R   R   t   generation_uidt   loadableR   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __init__  s"    
				c         C   s2   | j    r t j d   n  |  j j |  d S(   sH   Add the given namespace to the set that is to be stored in this archive.s   Cannot archive absent namespaceN(   t   isAbsentNamespaceR.   R;   R   R6   (   R   Ra   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR6   (  s    c         C   s$   g  | D] } |  j  |  ^ q d S(   sI   Add the given namespaces to the set that is to be stored in this archive.N(   R6   (   R   t   namespace_sett   _ns(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRf   .  s    c         C   s   |  j  S(   s5   Set of namespaces that can be read from this archive.(   R   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRg   2  s    c         C   su   t  | t j  r$ t | d  } n  t j | d  } | j t j  |  j	   d  k	 s^ t  | j |  j	    | S(   Nt   wbi(   t
   isinstanceR    t   string_typest   openR7   t   Picklert   dumpR   t   _NamespaceArchive__PickleFormatR   R+   t   AssertionError(   R   t   outputt   pickler(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __createPickler7  s    c         C   sh   t  j t |  j d   } | j   } |  j | k rU t j d | |  j f   n  | j   |  _ | S(   Nt   rbs    Archive format is %s, require %s(	   R7   t	   UnpicklerRz   R\   t   loadR}   R.   R;   R]   (   R   t	   unpicklert   fmt(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __createUnpicklerE  s    c         C   s  | j    } t | t  s= t d t |  |  j   f   |  j d  k r+x[ | j   D]M } | j	   j
 | j    } | d  k	 rY | j | |   | j |  qY qY Wt   |  _ d t |  j  k s t  x | D]L } | j |   | j	   } | j |  |  j j |  |  j j |  q Wnl xi | D]a } | j	   j
 | j    } | |  j k r2t j d | j	   | j   |  j   f   q2q2Wd  S(   Ns   Expected set got %s from %si    s    Lost module record %s %s from %s(   R   Rx   R,   R~   t   typeR'   R`   R+   t   copyRa   Rd   R   t   _setFromOtherRD   RA   R   t   _setArchivet   addModuleRecordR6   R.   R;   (   R   R   t   mrsRh   t   mr2R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __readModulesP  s(    1c         C   s4   t    } x$ |  j D] } | j | j    q W| S(   N(   R,   R`   Rf   t   dependsOnExternal(   R   t   prereq_uidsRh   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR@   h  s    	c         C   s   d d l  m } |  j   } xp | D]h } | j | k r> q# n  |  j j |  } | d  k r~ t j d |  j	   | f   n  | j
 |  q# Wd  S(   Ni(   R   s-   %s: archive depends on unavailable archive %s(   R*   R   R@   RB   R   R   R+   R.   R;   R'   R   (   R   R   R   R   t   uidt
   depends_on(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __validatePrerequisitesn  s    "c   	      C   s  |  j  |  j  xu|  j D]j} | j   } x | j   D]r } | j |  } | d  k r| t j d | j	   | f   n  | j
   s t j d |  q9 t j d |  q9 Wx | j   D] } x t j | j    D] \ } } | | j   k r q n  | j t j | j |    } d t |  k  rct j d |  j | | | | d j |  f   n  t j d | t |   q Wq Wq Wd  S(   NsF   Module %s depends on external module %s, not available in archive paths    Need to incorporate data from %ss   Have required base data %si    sV   Archive %s namespace %s module %s origin %s archive/active conflict on category %s: %st    s   %s no conflicts on %d names(   t(   _NamespaceArchive__validatePrerequisitest   _STAGE_validateModulesR`   Ra   R   Rd   R+   R.   R;   R   t   isIncorporatedR9   RK   t   originsR    t	   iteritemst   categoryMemberst
   categoriest   intersectiont   iterkeyst   categoryMapRA   R\   RI   (	   R   Rh   R   t   base_uidt   xmrt   origint   catt   namest   cross_objects(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __validateModulesy  s$    ""!4c         C   s   |  j  |  j  x t t |  j   D]h } | j   } | j |  j    } | |  j k sb t  | j	   su t  | j   } | j
 |  q& Wd  S(   N(   R   t   _STAGE_readComponentst   rangeRA   R`   R   Rd   R   R~   R   t   _loadCategoryObjects(   R   R   t   nR   Rh   t   objects(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __readComponentSet  s    c         C   s}  |  j  d  k r( t j d |  f   n  y2x+|  j  | k  rX|  j  |  j k  rp |  j   |  _ |  j |  _  q. n  |  j  |  j k  r |  j d  k	 s t  |  j	 |  j  |  j |  _  q. n  |  j  |  j
 k  r |  j   |  j
 |  _  q. n  |  j  |  j k  r9|  j d  k	 st  |  j |  _  |  j |  j  d  |  _ q. n  t j d |  j  | f   q. WWn d  |  _  d  |  _   n Xd  S(   Ns'   Attempt to read from invalid archive %ss    Too many stages (at %s, want %s)(   Rl   R+   R.   R;   R   t"   _NamespaceArchive__createUnpicklert   _NamespaceArchive__unpicklerR5   R~   t   _NamespaceArchive__readModulesR   t"   _NamespaceArchive__validateModulesR   t#   _NamespaceArchive__readComponentSetRH   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s8    
	$		c         C   s   |  j  |  j  d S(   se   Read all the components from this archive, integrating them into
        their respective namespaces.N(   R   t   _STAGE_COMPLETE(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   readNamespaces  s    c         C   s  d d l  } t j d k s! t  |  t _ |  j d k	 s? t  x$ |  j D] } | j   j |  qI Wz | j   } | j	 d |  |  j
 |  } t |  j t  s t  | j |  j  x7 |  j D], } | j | j    | j | j    q WWd | j	 |  Xd t _ d S(   s   Store the namespaces into the archive.

        @param output: An instance substitutable for a writable file, or the
        name of a file to write to.
        iNi
   (   t   sysR   R   R+   R~   R`   Ra   t   _associateOriginst   getrecursionlimitt   setrecursionlimitt    _NamespaceArchive__createPicklerRx   R,   R|   t   categoryObjects(   R   R   R   Rh   t   recursion_limitR   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   writeNamespaces  s"    	c         C   s)   |  j  } | d  k r d } n  d | f S(   Ns   ??s   NSArchive@%s(   R\   R+   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __str__  s    		N(6   t   __name__t
   __module__t   __doc__R}   t   classmethodR   R
   R   R+   R   R   R   R4   t   ret   compileR2   t   FalseR[   R'   R\   R   R]   R_   R^   Rn   Rj   R`   Rk   Ro   R   R5   R   R   R   Rm   Rl   t   TrueRs   R6   Rf   Rg   R   R   R   R   R@   R   R   R   R   R   R   R   R   (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   3   s`   		^																
			#t   _ArchivableObject_mixinc           B   sM   e  Z d  Z d Z d   Z e d  Z d   Z d   Z	 d   Z
 d   Z RS(   sI   Mix-in to any object that can be stored in a namespace within an archive.c         C   s   |  j  S(   N(   t%   _ArchivableObject_mixin__objectOrigin(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _objectOrigin  s    c         C   sW   |  j  d  k	 rJ | rJ |  j  | k rS t j d |  |  j  | f   qS n	 | |  _  d  S(   Ns)   Inconsistent origins for object %s: %s %s(   R   R+   R.   RH   (   R   t   object_origint   override(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setObjectOrigin  s    %c            si     j    d  k	 rF t t t    d   f d      j    j    St   t j j	 j
  se t  d  S(   Nt   _prepareForArchive_cscc             s     S(   N(    (   t   _argst   _kw(   R   (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR)     s    (   R   R+   t   getattrt   superR   t   moduleRecordRx   R.   t	   xmlschemat
   structurest   _NamedComponent_mixinR~   (   R   RZ   (    (   R   sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _prepareForArchive  s    4c            s(   t  t t    d   f d    |  S(   Nt   _updateFromOther_cscc             s     S(   N(    (   R   R   (   R   (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR)     s    (   R   R   R   (   R   t   other(    (   R   sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   s   |  | k s t   |  j |  S(   s  Update this instance with additional information provided by the other instance.

        This is used, for example, when a built-in type is already registered
        in the namespace, but we've processed the corresponding schema and
        have obtained more details.(   R~   R   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _updateFromOther  s    c         C   s;   d d l  m } |  j   s" t  | j |  j   j   k S(   Ni(   R   (   R*   R   R   R~   RB   R   (   R   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _allowUpdateFromOther  s    N(   R   R   R   R+   R   R   R   R   R   R   R   R   (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s   					t   _NamespaceArchivable_mixinc           B   s   e  Z d  Z d   Z d   Z d Z d Z e d  Z	 d   Z
 d Z d   Z d   Z d   Z d   Z d	   Z d
   Z e d  Z e Z d   Z d   Z d Z d   Z e d  Z d   Z d   Z RS(   s}   Encapsulate the operations and data relevant to archiving namespaces.

    This class mixes-in to L{pyxb.namespace.Namespace}c         C   sG   t  t t |   d d      d |  _ d |  _ t |  _ i  |  _ d S(   s^   CSC extension to reset fields of a Namespace.

        This one handles category-related data.t   _resetc          _   s   d  S(   N(   R+   (   t   argst   kw(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR)     s    N(	   R   R   R   R+   t-   _NamespaceArchivable_mixin__loadedFromArchivet*   _NamespaceArchivable_mixin__wroteToArchiveR   t"   _NamespaceArchivable_mixin__activet+   _NamespaceArchivable_mixin__moduleRecordMap(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s
    			c         C   s   |  j  S(   N(   R   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _loadedFromArchive  s    c         C   sV   |  j  rO | rO x9 t j |  j    D]" \ } } d t |  k  r% t Sq% Wt S|  j  S(   Ni    (   t$   _NamespaceArchivable_mixin__isActiveR    R   t   _categoryMapRA   R   R   (   R   t   empty_inactivet   ctt   cm(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   isActive   s    "c         C   s   t  |  _ d  S(   N(   R   R   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt	   _activate(  s    c         O   s   t  t |   j | |   d  S(   N(   R   R   Rs   (   R   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRs   ,  s    c         C   s   | |  _  |  j   d  S(   N(   R   R   (   R   RZ   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setLoadedFromArchive/  s    	c         C   s   | |  _  d  S(   N(   R   (   R   RZ   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setWroteToArchive2  s    c         C   sM   |  j  | j   } | j   s9 t d | j   f   |  j  | j   =d  S(   Ns'   Removing archive %s after incorporation(   R   R   R   R~   R'   (   R   RZ   Rh   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   5  s    &c         C   s+   x$ |  j    D] } | j   r t Sq Wt S(   si   Return C{True} iff the component model for this namespace can be
        loaded from a namespace archive.(   Rj   R_   R   R   (   R   Rh   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR_   ;  s    c         C   sD   |  j  r t Sx0 |  j   D]" } | j   s8 | j   r t Sq Wt S(   s)  Return C{True} iff the component model for this namespace may be
        extended by import directives.

        This is the case if the namespace has been marked with
        L{setImportAugmentable}, or if there is no archive or built-in that
        provides a component model for the namespace.(   t/   _NamespaceArchivable_mixin__isImportAugmentableR   Rj   R_   R   R   (   R   Rh   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   isImportAugmentableC  s    	c         C   s   | |  _  d  S(   N(   R   (   R   t   value(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   setImportAugmentableP  s    c         C   sC   g  } x6 |  j    D]( } | j   r | j | j    q q W| S(   s[   Return the list of archives from which components for this
        namespace can be loaded.(   Rj   R_   t   appendRZ   (   R   R   Rh   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   loadableFromT  s
    c         C   s   t  t j |  j   S(   N(   R=   R    R-   R   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRj   ]  s    c         C   sG   t  | t  s t  | j   |  j k s0 t  | |  j | j   <| S(   N(   Rx   t   ModuleRecordR~   R   R   (   R   t   module_record(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   a  s    c         O   sI   |  j  j |  } | d  k rE | rE |  j t |  | | |   } n  | S(   N(   R   R   R+   R   R   (   R   Rq   t   create_if_missingR   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRd   f  s    !c         C   s"   t  t t |   d d    |  S(   Nt   _getState_cscc         S   s   |  S(   N(    (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR)   n  s    (   R   R   R   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setState_cscl  s    c         C   sI   |  j    r! t j |  d   n  x! |  j   D] } | j t  q. Wd S(   s   Prevent loading this namespace from an archive.

        This marks all archives in which the namespace appears, whether
        publically or privately, as not loadable.s,   cannot mark not loadable when already loadedN(   R   R.   t   NamespaceErrorRj   t   _setIsLoadableR   (   R   Rh   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   markNotLoadablep  s    N(   R   R   R   R   R   R+   R   R   R   R   R   R   Rs   R   R   R   R_   R   R   R   R   R   Rj   R   R   Rd   R   R   (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s.   	
													R   c           B   s  e  Z e   Z d    Z d" Z d   Z d   Z d" Z	 e j
 d  d   Z d   Z d" Z d   Z d   Z d" Z e j
 d  d	   Z d
   Z d" Z d   Z d" Z d   Z d   Z d   Z d   Z d" Z d   Z d   Z d   Z d" Z d   Z d   Z  d   Z! d" Z" e# Z$ e j
 d  d   Z% d   Z& d   Z' d   Z( d   Z) d   Z* d" Z+ e j
 d  d   Z, d" Z- d   Z. d    Z/ d!   Z0 RS(#   c         C   s   |  j  S(   N(   t   _ModuleRecord__namespace(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRa   }  s    c         C   s   |  j  S(   N(   t   _ModuleRecord__archive(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRZ     s    c         C   s   | |  _  |  S(   N(   R   (   R   RZ   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    	RZ   c         C   s   |  j  S(   N(   t   _ModuleRecord__isPublic(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   isPublic  s    c         C   s   | |  _  |  S(   N(   R   (   R   t	   is_public(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setIsPublic  s    	c         C   s   |  j  p |  j   d  k S(   N(   t   _ModuleRecord__isIncorporatedRZ   R+   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   s%   |  j  s t  t |  _ t |  _  |  S(   N(   t   _ModuleRecord__isLoadableR~   R   R   R   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   markIncorporated  s    		R   c         C   s   |  j  o |  j   d  k	 S(   N(   R   RZ   R+   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR_     s    c         C   s   | |  _  |  S(   N(   R   (   R   t   is_loadable(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    	c         C   s   |  j  S(   N(   t   _ModuleRecord__generationUID(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   s   t  t j |  j   S(   N(   R=   R    R-   t   _ModuleRecord__originMap(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   sG   t  | t  s t  | j   |  j k s0 t  | |  j | j   <| S(   N(   Rx   t   _ObjectOriginR~   t	   signatureR  (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt	   addOrigin  s    c         C   s   |  j  j |  S(   N(   R  R   (   R   R  (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   lookupOriginBySignature  s    c         C   sL   |  j  d  k r i  |  _  n |  j  j   g  | D] } |  j |  ^ q/ |  S(   N(   R  R+   t   clearR  (   R   R   t   _o(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setOrigins  s
     c         K   s.   x' |  j    D] } | j |   r t Sq Wt S(   N(   R   t   matchR   R   (   R   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   hasMatchingOrigin  s    c         C   s   |  j  S(   N(   t   _ModuleRecord__modulePath(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt
   modulePath  s    c         C   sa   t  | t j  rB d j t t j j j | j	 d    |  _
 n | d  k sT t  | |  _
 |  S(   Nt   .(   Rx   R    Ry   RI   t   mapR.   R/   R0   t   MakeModuleElementt   splitR  R+   R~   (   R   t   module_path(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   setModulePath  s
    0	c         C   s   |  j  S(   N(   t#   _ModuleRecord__referencedNamespaces(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   referencedNamespaces  s    c         C   s   |  j  j |  |  S(   N(   R  Rf   (   R   t   referenced_namespaces(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _setReferencedNamespaces  s    c         C   s   |  j  j |  | S(   N(   R  R6   (   R   Ra   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   referenceNamespace  s    t   constructedLocallyc         K   s   d d l  m } t t |   j   | |  _ | | j k sM | j   sM t  | j	 d t
  |  _ | j	 d t
  |  _ | j	 d t  |  _ t | t j j j  s t  | |  _ | j	 d  |  _ i  |  _ t   |  _ i  |  _ t |  _ t   |  _ d  S(   Ni(   R   R   t   is_incorporatedR  R  (   R*   R   R   R   Rs   R   RB   t   isBuiltinNamespaceR~   R   R   R   R   R   R   Rx   R.   R/   R0   t   UniqueIdentifierR  R  R  R,   R  t   _ModuleRecord__categoryObjectst!   _ModuleRecord__constructedLocallyt    _ModuleRecord__dependsOnExternal(   R   Ra   Rq   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRs     s    	!				c         C   s   |  j  s | j  r% t j d   n  |  j | j k s= t  |  j d  k sR t  | j |  _ |  j sn t  | j	 |  _	 | j
 |  _
 |  j j | j  |  j j | j  | j d  k	 r |  j j | j  n  |  j j | j  |  j |  d  S(   Ns>   Module record update requires local to be updated from archive(   R   R.   t   ImplementationErrorR  R~   R   R+   R   R   R   R  R  Rf   R  R  R!  R   (   R   R   RZ   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   s   |  j  S(   N(   R  (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   s2   |  j  j   x |  j   D] } | j   q Wd  S(   N(   R  R	  R   t   resetCategoryMembers(   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   resetCategoryObjects  s    c         C   s*   | j  |   | |  j j | i   | <d  S(   N(   R   R  t
   setdefault(   R   t   categoryt   namet   obj(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   _addCategoryObject  s    c   	      C   s  |  j  d  k s t  |  j s% t  |  j   } | j t j |   x t j |  D] \ } } | j	 |  } x t j |  D]x \ } } | j
 |  } | d  k r | | | <q | j |  r | j |  q t j |  d | | |  j   f   q WqW W|  j   d  S(   Ns&   Load attempted to override %s %s in %s(   R  R+   R~   R   Ra   t   configureCategoriesR    R   R   R   R   R   R   R.   R   R  (	   R   t   category_objectsR   R   t   obj_mapt   current_mapt
   local_namet	   componentt   existing_component(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR      s    -R   c         C   s   |  j  S(   N(   R!  (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s    c         C   s   |  j    d  k s t  |  j |  |  j   } |  j j   xI | j   D]; } | |  k rK t j	 d |  |  j j
 | j    qK qK WxQ | j   j | j    D]4 } t | t  r | j   r | j |   q q q Wd  S(   Ns   This gen depends on %s(   RZ   R+   R~   R   Ra   R!  R	  Rj   R9   RK   R6   R   t   _namedObjectst   uniont
   componentsRx   R   R   R   (   R   RZ   R   Rh   R(  (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRe     s    "c         C   s*   |  j    j |   |  j    j |   d  S(   N(   Ra   t   _transferReferencedNamespacesR   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   completeGenerationAssociations%  s    c         C   s   d |  j    |  j   f S(   Ns	   MR[%s]@%s(   R   Ra   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   )  s    N(1   R   R   R,   t   _ModuleRecord__PrivateTransientRa   R+   R   RZ   R   R   R6   R   R   R   R   R  R   R_   R   R   R   R  R   R  R  R  R  R  R  R  R  R  R  R  R  R   R   Rs   R   R   R$  R)  R   R  R   R!  Re   R5  R   (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   z  s^   																														R  c           B   s   e  Z d  Z e   Z d   Z d Z d   Z d Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d	   Z d Z d Z e j d
  d Z e j d  RS(   sV   Marker class for objects that can serve as an origin for an object in a
    namespace.c         C   s   |  j  S(   N(   t   _ObjectOrigin__signature(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR  1  s    c         C   s   |  j  S(   N(   t   _ObjectOrigin__moduleRecord(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   5  s    c         C   s   |  j    j   S(   N(   R   Ra   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRa   9  s    c         C   s   |  j    j   S(   N(   R   R   (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   <  s    c         K   sl   | j  d d   |  _ t t |   j |   | j | d t | |  _ |  j j	 |   i  |  _
 i  |  _ d  S(   NR  R   (   t   popR+   R7  R   R  Rs   Rd   R   R8  R  t   _ObjectOrigin__categoryMemberst    _ObjectOrigin__categoryObjectMap(   R   Ra   Rq   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRs   ?  s    	c         C   s'   |  j  j   |  j j   d  |  _ d  S(   N(   R:  R	  R;  R+   t#   _ObjectOrigin__originatedComponents(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR#  G  s    c         C   sR   |  j  j | t    j |  | |  j j | i   | <|  j j | | |  d  S(   N(   R:  R%  R,   R6   R;  R8  R)  (   R   R&  R'  R(  (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   addCategoryMemberK  s    c         C   s   |  j  S(   N(   R:  (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR   O  s    c         C   sf   |  j  d  k r_ t   } g  t j |  j  D] } | j t j |   ^ q+ t |  |  _  n  |  j  S(   N(   t    _ObjectOrigin__originatedObjectsR+   R,   R    R-   R;  Rf   t	   frozenset(   R   R3  t   _v(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   originatedObjectsQ  s
    	5t   categoryObjectMapRA  N(   R   R   R   R,   t   _ObjectOrigin__PrivateTransientR  R+   R7  R   R8  Ra   R   Rs   R#  R=  R   RA  R:  R;  R6   R>  (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR  ,  s$   										
t   _SchemaOriginc           B   su   e  Z d  Z e   Z d   Z d   Z d   Z d	 Z	 d   Z
 d	 Z e j d  d   Z d	 Z d   Z d   Z RS(
   s   Holds the data regarding components derived from a single schema.

    Coupled to a particular namespace through the
    L{_NamespaceComponentAssociation_mixin}.
    c         C   s   | j  d  } | d  k	 r d | k s- t  | j   | d <d | k sO t  | j   | d <d | k sq t  | j   | d <d | k s t  | j   | d <d | k s t  | j d  | d <n  d  S(   Nt   schemat   locationR  Rq   Ra   t   version(   R   R+   R~   RF  R  R   t   targetNamespacet   schemaAttribute(   R   R   RE  (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   __setDefaultKWn  s    c         K   ss   |  j  |  | j d  } | d k	 r> |  j   | k r> t S| j d  } | d k	 ro |  j   | k ro t St S(   sb  Determine whether this record matches the parameters.

        @keyword schema: a L{pyxb.xmlschema.structures.Schema} instance from
        which the other parameters are obtained.
        @keyword location: a schema location (URI)
        @keyword signature: a schema signature
        @return: C{True} iff I{either} C{location} or C{signature} matches.RF  R  N(   t   _SchemaOrigin__setDefaultKWR   R+   RF  R   R  R   (   R   R   RF  R  (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR  |  s    c         C   s   |  j  S(   N(   t   _SchemaOrigin__location(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRF    s    c         C   s   |  j  S(   N(   t   _SchemaOrigin__schema(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRE    s    RE  c         C   s   |  j  S(   N(   t   _SchemaOrigin__version(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRG    s    c         K   s~   |  j  |  | j d d   |  _ | j d d   |  _ | j d d   |  _ t t |   j | j d  | j d  |  d  S(   NRE  RF  RG  Ra   Rq   (	   RK  R9  R+   RM  RL  RN  R   RD  Rs   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRs     s
    c         C   sh   d |  j    |  j   f g } |  j   d  k	 rN | j d |  j   f  n  | j d  d j |  S(   Ns   _SchemaOrigin(%s@%ss   ,version=%st   )t    (   Ra   RF  RG  R+   R   RI   (   R   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyR     s
    N(   R   R   R   R,   t   _SchemaOrigin__PrivateTransientRK  R  RF  R+   RL  RE  RM  R6   RG  RN  Rs   R   (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRD  e  s   							t   NamespaceDependenciesc           B   s   e  Z d    Z d
 Z e d  Z d
 Z e d  Z e d  Z	 d   Z
 d   Z d
 Z e d  Z e d  Z d
 Z e d  Z d	   Z RS(   c         C   s   |  j  S(   N(   t&   _NamespaceDependencies__rootNamespaces(   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   rootNamespaces  s    c         C   sT  | s |  j  d  k rMt j j j   |  _  x$ |  j   D] } |  j  j |  q7 W|  j j	   } t
   } x d t |  k  r.| j   } | j   |  j  j |  xR | j   j | j    D]5 } |  j  j | |  | | k r | j |  q q W| j   st j d | j    n  | j |  ql W| |  j  j   k sMt  n  |  j  S(   Ni    s&   Referenced %s has no schema components(   t&   _NamespaceDependencies__namespaceGraphR+   R.   R/   R0   R?   RT  RF   RS  R   R,   RA   R9  t   validateComponentModelt   addNodeR  R2  t   importedNamespacesRE   R6   t   hasSchemaComponentsR9   RC   t   urit   nodesR~   (   R   RL   R   t
   need_checkt
   done_checkt   rns(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   namespaceGraph  s&    	
"c         C   s   |  j  |  j   S(   N(   R_  RG   (   R   RL   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   namespaceOrder  s    c         C   sn   t    } |  j |  } xO |  j D]D } | j   j |  } | d  k	 rY | j |  q" | j |  q" W| S(   N(   R,   R_  RS  t   sccMapR   R+   Rf   R6   (   R   RL   t   siblingst   ns_graphR   t   ns_siblings(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   siblingsFromGraph  s    	c         C   s(   |  j  d  k r! |  j   |  _  n  |  j  S(   N(   t)   _NamespaceDependencies__siblingNamespacesR+   Re  (   R   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   siblingNamespaces  s    c         C   s   | |  _  d  S(   N(   Rf  (   R   t   sibling_namespaces(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   setSiblingNamespaces  s    c         C   s   |  j  |  j   S(   N(   R_  R[  (   R   RL   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   dependentNamespaces  s    c         C   s  | s |  j  d  k r t j j j   |  _  t   } xF |  j   D]8 } g  | j   D]! } | j	   rS | j
 |  ^ qS q@ W| j   } xt d t |  k  r | j   } |  j  j |  x< | j d t  D]( } | | k r |  j  j | |  q q Wq Wn  |  j  S(   Ni    t   include_lax(   t&   _NamespaceDependencies__componentGraphR+   R.   R/   R0   R?   R,   Rg  R3  t
   hasBindingR6   R   RA   R9  RW  t   bindingRequiresR   RE   (   R   RL   t   all_componentsR   t   _ct
   need_visitt   ct   cd(    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   componentGraph  s    	6!c         C   s   |  j  |  j   S(   N(   Rt  RG   (   R   RL   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   componentOrder  s    c         K   st   t  | j d g    } | j d  } | d  k	 rC | j |  n  d t |  k rg t j d   n  | |  _ d  S(   NRu   Ra   i    s:   NamespaceDependencies requires at least one root namespace(   R,   R   R+   R6   RA   R.   RH   RS  (   R   R   Ru   Ra   (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRs     s    N(   R   R   RT  R+   RS  R   R_  RU  R`  Re  Rg  Ri  Rf  Rj  Rt  Rl  Ru  Rs   (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyRR    s   			(#   R   t   loggingR   t   os.pathR.   t   pyxb.utils.utilityt
   pyxb.utilsR    t	   getLoggerR   R9   R   t   patht   realpathRI   t   dirnamet   __file__R3   R   t   pyxb.utils.six.movesR   R7   R   t   objectR   t   cscRootR   R   R/   R0   t   PrivateTransient_mixinR   R  RD  RR  (    (    (    sK   /data/av2000/b2b/venv/lib/python2.7/site-packages/pyxb/namespace/archive.pyt   <module>   s(   -	 %o%9C