;ò
½0sDc        
   @   sØ  d  Z  d k Z d k Z d k Z d k Z d k l Z d k Td k l	 Z	 l
 Z
 l Z e e f Z e i d j  o d „  Z n
 d „  Z e i d j  o d	 Z d
 Z n d d „ Z y
 e Z Wn d k l Z n Xd e f d „  ƒ  YZ e i d j o d k Z d k Z h  d d d f <d d d f <d d d f <d d d f <d d d f <d d d f <d d d f <d d d f <d d d f <d d d  f <d! d d" f <d" d d" f <d# d$ d% f <d& d' d( f <Z e e d# d) „ Z n e e d* „ Z d k Z e i i  e i! ƒ Z" e i i# e" ƒ o e" p e i i$ e" ƒ Z% [ y e! Wn e i& d
 Z! n Xd k' Z' d k( Z( yÙ e) Z* e i i+ e i i, e) i- ƒ ƒ Z. e. e i/ Z0 e i i  e. ƒ Z1 e1 e i/ Z2 e3 e0 ƒ Z4 e3 e2 ƒ Z5 e0 e2 e. e1 e i i, e i i+ e i6 e i/ e3 e i/ ƒ d+ „	 Z7 d, „  Z8 e' i' e( i( e% e i i9 d- „ Z: Wn7 e i i; e! ƒ Z* e Z) d. „  Z8 e' i' d/ „ Z: n X[' [( e* o$ e i i; e i i< e! ƒ d
 d0 ƒ Z= d1 „  Z> d2 „  Z? d3 „  Z@ y8 y d4 kA lB ZB Wn  eC j
 o d4 kD lB ZB n XWnt eC j
 oh d5 kE lF ZF eF eF d6 ƒ d7 „ ZG d8 d9 d: d; d< d= d> f ZH d kI ZI eI iJ d? ƒ ZK [I d@ „  ZB n XdA eB dB ƒ j o eB ZL dC „  ZB n e d
 d
 dD „ ZM dE „  ZN dF „  ZO dG „  ZP e iQ d
 dH !dI j o0 y d kR ZS d kT ZU d	 ZV Wqd
 ZV qXnk y dJ kW lX ZX Wn< eC j
 o0 y d kX ZX WqƒeC j
 o e ZX qƒXn XeX e j	 ZV eV o [X n e aY e dK „ ZZ dL f  dM „  ƒ  YZ[ dN „  Z\ e dO „ Z] dP „  Z^ dQ dR „ Z_ d k` Z` dQ e` ia dS „ Zb [` dQ dT „ Zc dU dV „ Zd e i i; dW „ Ze e i if e i i, dX „ Zg dY „  Zh dZ „  Zi d[ f  d\ „  ƒ  YZj d] „  Zk d^ f  d_ „  ƒ  YZl d` „  Zm da „  Zn d
 db „ Zo dc f  dd „  ƒ  YZp de f  df „  ƒ  YZq d S(g   s4    $Id: utils.py 2892 2006-05-19 14:16:02Z rgbecker $ N(   s   warnOnce(   s   *(   s   get_rl_tempfiles   get_rl_tempdirs
   _rl_getuidi  c         C   s   t  |  ƒ t j Sd  S(   N(   s   types   vs   SeqTypes(   s   v(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys	   isSeqType   s    c         C   s   t  |  t t f ƒ Sd  S(   N(   s
   isinstances   vs   tuples   list(   s   v(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys	   isSeqType   s    i  i   i    s   .ttfc   
      C   sÎ   d k  l } l } l } d k l } | i ƒ  } g  } | i
 } x‚ |  D]z } | | ƒ o qH n x\ | | ƒ D]N }	 | | |	 ƒ }	 | |	 ƒ o | p |	 i ƒ  i | ƒ o | |	 ƒ qp qp WqH W| Sd  S(   N(   s   isfiles   isdirs   join(   s   listdir(   s   os.paths   isfiles   isdirs   joins	   path_joins   oss   listdirs   exts   lowers   Rs   appends   As   dirLists   Ds   fns   endswith(
   s   dirLists   exts   isdirs	   path_joins   Ds   listdirs   Rs   As   isfiles   fn(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys
   _findFiles   s    	   + (   s   UserDicts   CIDictc           B   s\   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z	 d „  Z
 d	 „  Z RS(
   Nc         O   s!   t  |  i | ƒ |  i | ƒ d  S(   N(   s   maps   selfs   updates   as   kw(   s   selfs   as   kw(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __init__)   s    c         C   s+   x$ | i ƒ  D] \ } } | |  | <q Wd  S(   N(   s   Ds   itemss   ks   vs   self(   s   selfs   Ds   ks   v(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   update-   s      c         C   s1   y | i ƒ  } Wn n Xt i |  | | ƒ d  S(   N(   s   ks   lowers	   _UserDicts   __setitem__s   selfs   v(   s   selfs   ks   v(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __setitem__0   s
    c         C   s.   y | i ƒ  } Wn n Xt i |  | ƒ Sd  S(   N(   s   ks   lowers	   _UserDicts   __getitem__s   self(   s   selfs   k(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __getitem__7   s
    c         C   s.   y | i ƒ  } Wn n Xt i |  | ƒ Sd  S(   N(   s   ks   lowers	   _UserDicts   __delitem__s   self(   s   selfs   k(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __delitem__>   s
    c         C   s*   y |  | SWn t j
 o | Sn Xd  S(   N(   s   selfs   ks   KeyErrors   dv(   s   selfs   ks   dv(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getE   s    c         C   s"   y |  | t SWn t Sn Xd  S(   N(   s   selfs   ks   Trues   False(   s   selfs   k(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   has_keyK   s
    c         G   s5   y | i ƒ  } Wn n Xt i |  | f | Œ  Sd  S(   N(   s   ks   lowers	   _UserDicts   pops   selfs   a(   s   selfs   ks   a(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   popR   s
    c         G   s5   y | i ƒ  } Wn n Xt i |  | f | Œ  Sd  S(   N(   s   ks   lowers	   _UserDicts
   setdefaults   selfs   a(   s   selfs   ks   a(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys
   setdefaultY   s
    (   s   __name__s
   __module__s   __init__s   updates   __setitem__s   __getitem__s   __delitem__s   Nones   gets   has_keys   pops
   setdefault(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   CIDict(   s   							s   macs   BMPs   ogles   BMP s   EPSs   EPSFs   GIFs   GIFfs   JPGs   JPEGs   PCTs   ttxts   PICTs   PNGs   PNGfs   PPMs   .PPMs   TIFs   TIFFs   PDFs   CAROs   PDF s   HTMLs   MSIEs   TEXTc         C   sŽ   y€ | t j p | t j o
 | t j	 o/ y t t i | ƒ \ } } WqY d  SqY Xn t i |  ƒ i
 | | ƒ t i |  ƒ Wn n Xd  S(   N(   s   creatorcodes   Nones   filetypes   exts   _KNOWN_MAC_EXTs   strings   uppers   macfss   FSSpecs   filenames   SetCreatorTypes
   macostoolss   touched(   s   filenames   creatorcodes   filetypes   ext(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   markfilenameu   s    'c         C   s   d  S(   N(    (   s   filenames   creatorcodes   filetype(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   markfilename   s    c
         C   s  | |  i d | ƒ ƒ }  | |  ƒ }
 |
 | | f j o d d f Sn |
 i | ƒ o d |  t
 f Sn |
 i | ƒ o d |  t f Sn | | ƒ  ƒ } t | ƒ } |
 i | ƒ oO |  | i | ƒ o d |  | |	 f Sn | t |  ƒ j o d d f Sqn t i i |  ƒ |  f Sd S(   s3   if the name starts with a known prefix strip it offs   /i   s    N(   s   os_path_normpaths   fns   replaces   os_seps   os_path_normcases   nfns   _archivedirs   _archives
   startswiths   _archivepfxs   _archivepfxlens   _archivedirpfxs   _archivedirpfxlens	   os_getcwds   cwds   lens   ns
   os_sep_lens   oss   paths   isabs(   s   fns   _archivepfxs   _archivedirpfxs   _archives   _archivedirs   os_path_normpaths   os_path_normcases	   os_getcwds   os_seps
   os_sep_lens   nfns   ns   cwd(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __startswith_rlš   s"    
      c         C   s   t  |  ƒ d Sd  S(   Ni   (   s   __startswith_rls   fn(   s   fn(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _startswith_rl±   s    c         C   su   t  |  ƒ \ } } | | ƒ } | p
 | g  j o; | t t | d „ t	 | | d „ t i i ƒ  ƒ ƒ 7} n | Sd  S(   Nc         C   s   | t |  ƒ S(   N(   s   pjoins   _archivepfxs   x(   s   xs   Ds   pjoin(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   <lambda>¸   s    c         C   s   | |  | ƒ S(   N(   s   fnmatchs   xs   pfn(   s   xs   pfns   fnmatch(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   <lambda>¸   s    (   s   __startswith_rls   patterns   cs   pfns   globs   rs   maps   _archivepfxs   pjoins   filters   fnmatchs
   __loader__s   _filess   keys(   s   patterns   globs   fnmatchs   _RL_DIRs   pjoins   cs   pfns   r(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   rl_glob´   s
    ;c         C   s   |  Sd  S(   N(   s   fn(   s   fn(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _startswith_rl½   s    c         C   s   | |  ƒ Sd  S(   N(   s   globs   pattern(   s   patterns   glob(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   rl_glob¿   s    s   .pyc           C   s   t  Sd S(   s*   return truth if a file system distributionN(   s   _isFSD(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   isFileSystemDistroÄ   s     c           C   s	   t  Sd S(   s.   return truth if not a file system distributionN(   s   _isFSD(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   isCompactDistroÈ   s     c           C   s   t  Sd S(   s1   return truth if a source file system distributionN(   s   _isFSSD(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   isSourceDistroÌ   s     (   s   fp_str(   s   logf10.0c         C   s   | |  ƒ | S(   N(   s   logs   xs	   _log_e_10(   s   xs   logs	   _log_e_10(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   <lambda>Ú   s    s   %.0fs   %.1fs   %.2fs   %.3fs   %.4fs   %.5fs   %.6fs   0+$c          G   sc  t  |  ƒ d j o t |  d ƒ o |  d }  n g  } | i } x|  D]} t | ƒ } | d j o | d ƒ qH | d j o d p& t	 t
 d d t t | ƒ ƒ ƒ d ƒ } t | | } | oO t i d | ƒ } y# | d d j o | d  } n Wq| G| GH‚  qXn | | d d j p t  | ƒ d j o | p | d ƒ qH Wt i | ƒ Sd  S(	   Ni   i    f9.9999999999999995e-08s   0i   s    iÿÿÿÿs   .(   s   lens   as	   isSeqTypes   ss   appends   As   is   abss   sas   mins   maxs   ints   _log_10s   ls   _fp_fmtss   ns   _tz_res   subs   strings   join(   s   as   As   is   ls   ns   ss   sa(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   fp_strß   s*    $ 	  < 	=s   ,f0.25c          G   s    t  i t t |  ƒ d d ƒ Sd  S(   Ns   ,s   .(   s   strings   replaces   applys   _FP_STRs   a(   s   a(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   fp_strö   s    c         B   sÏ  d „  } e | e i ƒ }
 | or e | ƒ o | g } n e e e	 | ƒ ƒ } x? | D]3 } | | ƒ } | |
 j o |
 i d | ƒ qY qY Wn | oZ xx d d | d ƒ f D]< } x3 | |
 j o% | o d | GHn |
 i | ƒ qº Wq± Wn" d |
 j o |
 i d d ƒ n | o$ d k }	 |	 i } d G| |
 ƒ n e i } y/ |
 e _ d |  |  f e ƒ  U| e _ e SWnO e j
 oC | e _ d	 |  | f } | o | d
 |
 } n e | ‚ n Xd S(   sE   Dynamically imports possible packagized module, or raises ImportErrorc         C   s(   t  i i t  i i t  i i |  ƒ ƒ ƒ S(   N(   s   oss   paths   normcases   abspaths   normpaths   x(   s   x(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   <lambda>û   s    i    s    s   .s   removed "%s" from pathNs   path=s   import %s
m = %s
s%   recursiveimport(%s,baseDir=%s) faileds    under paths '%s'(   s	   normalizes   maps   syss   paths   baseDirs	   isSeqTypes   tps   filters   Nones   lists   ps   inserts   noCWDs   debugs   removes   pprints   pps   opaths
   modulenames   localss   ms   ImportErrors   msg(   s
   modulenames   baseDirs   noCWDs   debugs	   normalizes   ps   pps   tps   opaths   pprints   paths   msg(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   recursiveImportù   sN     	     						c         C   s   t  | |  i ƒ Sd S(   s/   Can call down into e.g. object1.object2[4].attrN(   s   evals   names   objs   __dict__(   s   objs   name(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   recursiveGetAttr"  s     c         C   s|   t  i | d ƒ } t | ƒ d j o t |  | | ƒ n@ t  i | d  d ƒ } | d } t |  | ƒ } t | | | ƒ d S(   s7   Can call down into e.g. object1.object2[4].attr = values   .i   iÿÿÿÿN(   s   strings   splits   names   tokenss   lens   setattrs   objs   values   joins   mosts   lasts   recursiveGetAttrs   parent(   s   objs   names   values   parents   tokenss   mosts   last(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   recursiveSetAttr&  s     
c          C   sS   y d  k  }  Wn; t j
 o/ t }  d k l } | o t d ƒ qK n X|  Sd  S(   N(   s   ZLIB_WARNINGSs   zlib not available(   s   zlibs   ImportErrors   Nones   reportlab.rl_configs   ZLIB_WARNINGSs   warnOnce(   s   zlibs   ZLIB_WARNINGS(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   import_zlib2  s     i   s   java(   s   Imagec         C   sk   t  o> y d k l } Wn  t j
 o d k l } n X| a  n |  t j	 o
 t  |  ƒ p t  ƒ  Sd S(   s#   unified StringIO instance interface(   s   StringION(   s
   __StringIOs	   cStringIOs   StringIOs   ImportErrors   bufs   None(   s   bufs   StringIO(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getStringIOU  s      
s   ArgvDictValuec           B   s   t  Z d  Z d „  Z RS(   sG   A type to allow clients of getArgvDict to specify a conversion functionc         C   s   | |  _  | |  _ d  S(   N(   s   values   selfs   func(   s   selfs   values   func(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __init__b  s    	(   s   __name__s
   __module__s   __doc__s   __init__(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   ArgvDictValue`  s    c          K   s  d „  } t i d } h  } xæ |  i ƒ  D]Ø \ } }	 t	 |	 t
 ƒ o |	 i |	 i f \ }	 } n t } d }
 | d } xe | D]] } t i | | ƒ d j o> | t | ƒ } | i | ƒ | |	 | | ƒ | | <d }
 Pq~ q~ W|
 o | |	 |	 | ƒ | | <q) q) W| Sd S(   sæ    Builds a dictionary from its keyword arguments with overrides from sys.argv.
        Attempts to be smart about conversions, but the value can be an instance
        of ArgDictValue to allow specifying a conversion function.
    c         C   sÛ   | o | | ƒ }  n½ t |  ƒ } | t j o
 | }  nš | t j o t | ƒ }  n} | t j o t	 | ƒ }  n` | t
 j o t t | ƒ ƒ }  n= | t j o t t | ƒ ƒ }  n t d | t | ƒ f ‚ |  Sd  S(   Ns   Can't convert string '%s' to %s(   s   funcs   avs   vs   types   ts
   StringTypes	   FloatTypes   floats   IntTypes   ints   ListTypes   lists   evals	   TupleTypes   tuples	   TypeErrors   str(   s   vs   avs   funcs   t(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   handleValuek  s    
i   i    s   =N(   s   handleValues   syss   argvs   As   Rs   kws   itemss   ks   vs
   isinstances   ArgvDictValues   values   funcs   Nones   handleds   kes   as   strings   finds   lens   avs   remove(   s   kws   As   as   funcs   kes   ks   avs   Rs   handleValues   vs   handled(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getArgvDictf  s,     	 
 	 c         C   s‡   yM d k  l } |  t j o% t i i t i i t ƒ d ƒ }  n | |  ƒ SWn3 t	 j
 o' } t | ƒ d j o ‚  n t Sn Xd  S(   N(   s   Hyphens   hyphen.masheds   No module named pyHnj(   s   reportlab.lib.pyHnjs   Hyphens   hDicts   Nones   oss   paths   joins   dirnames   __file__s   ImportErrors   errMsgs   str(   s   hDicts   Hyphens   errMsg(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getHyphenater“  s     % c         C   sg   yC |  i i } t i | d ƒ } | d j o | | d Sn | SWn t j
 o t |  ƒ Sn Xd S(   s   Return a shortened class names   .i    i   N(	   s   selfs	   __class__s   __name__s   names   strings   rfinds   is   AttributeErrors   str(   s   selfs   names   i(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys
   _classNameœ  s      s   bc         C   s¼   d | j o d | } n y t |  | ƒ SWn‰ t j
 o} t p
 t t j o ‚  n t |  ƒ }  t i |  ƒ } d | j o t
 i d j o | i t
 i d ƒ } n t | ƒ Sn Xd  S(   Ns   rs   bs   
(   s   modes   opens   names   IOErrors   _isFSDs
   __loader__s   Nones   _startswith_rls   get_datas   ss   oss   lineseps   replaces   getStringIO(   s   names   modes   s(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   open_for_read_by_name¦  s       c         C   sk   t  |  d ƒ o |  Sn y t |  | ƒ SWn; y t | |  ƒ i ƒ  ƒ SWqg t d |  ƒ ‚ qg Xn Xd S(   s)   attempt to open a file or URL for readings   reads   Cannot open resource "%s"N(   s   hasattrs   names   open_for_read_by_names   modes   getStringIOs   urlopens   reads   IOError(   s   names   modes   urlopen(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   open_for_read´  s      c         C   s   t  |  | ƒ i ƒ  Sd  S(   N(   s   open_for_reads   names   modes   read(   s   names   mode(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   open_and_readÀ  s    s   tc         C   s   t  |  | ƒ i d ƒ Sd  S(   Ns   
(   s   open_and_reads   names   modes   split(   s   names   mode(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   open_and_readlinesÃ  s    c         C   sl   t  |  d ƒ o t Sn | |  ƒ o t Sn t p
 t t j o t Sn t |  ƒ }  |  t i	 i
 ƒ  j Sd  S(   Ns   read(   s   hasattrs   fns   Trues   os_path_isfiles   _isFSDs
   __loader__s   Nones   Falses   _startswith_rls   _filess   keys(   s   fns   os_path_isfile(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys	   rl_isfileÆ  s       c         C   s”   | |  ƒ o t Sn t p
 t t j o t Sn t | |  ƒ ƒ }  |  i	 t
 i ƒ o |  t
 i 7}  n t t |  d „ t i i ƒ  ƒ ƒ d j Sd  S(   Nc         C   s   |  i | ƒ S(   N(   s   xs
   startswiths   pn(   s   xs   pn(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   <lambda>Ò  s    i    (   s   os_path_isdirs   pns   Trues   _isFSDs
   __loader__s   Nones   Falses   _startswith_rls   os_path_normpaths   endswiths   oss   seps   lens   filters   _filess   keys(   s   pns   os_path_isdirs   os_path_normpath(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   rl_isdirÍ  s       c         C   sM  t  i i |  ƒ o t  i |  } t  i |  =n t } zá t } y8 t i |  | g ƒ \ } } } t i |  | | | ƒ SWnœ t ƒ  ou d  k } t | ƒ } | d j p | o t p" t i i t | i d t i ƒ ƒ } | i | ƒ } | i |  ƒ Sn t d |  | f ƒ ‚ n XWd  | o | t  i |  <n ~ | o | i ƒ  n Xd  S(   Ns   .s   /s   %s[%s](   s   syss   moduless   has_keys   names   oms   Nones   fs   imps   find_modules   dirs   ps   descs   load_modules   isCompactDistros	   zipimports   _startswith_rls   _archives   oss   paths   joins   replaces   seps   zipimporters   zis   ImportErrors   close(   s   names   dirs   zis   oms	   zipimports   fs   ps   desc(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   rl_get_moduleÔ  s.    
	@   c         C   s<   y d k  l } t |  | ƒ SWn t j
 o d Sn Xd  S(   N(   s   Imagei    (   s	   PIL.Images   Images
   isinstances   ims   ImportError(   s   ims   Image(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _isPILImageí  s
    s   ImageReaderc           B   sM   t  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   s4   Wraps up either PIL or Java to get data from bitmapsc         C   sÝ  t  | t ƒ o | i |  _ d  Sn t o t d ƒ ‚ n | |  _ t |  _ t |  _	 t |  _
 t |  _ t |  _ t | ƒ oR | |  _ | i |  _ y t i |  _ WqÙt j
 o d t |  ƒ |  _ qÙXn	y” t | d ƒ |  _ t i d d !d j o& d k l } | i |  i ƒ |  _ nB d  k } | i i |  i ƒ |  _ |  i d j o |  i |  _ n Wnq t i ƒ  \ } } } t" | d	 ƒ oB t# | i$ d
 ƒ d | } | i$ d
  | f | _$ | | | ‚ qÙ‚  n Xd  S(   Ns7   Imaging Library not available, unable to import bitmapss   PILIMAGE_%ds   bi    i   s   java(   s   ImageIOs   JPEGs   argsiÿÿÿÿs
    fileName=(&   s
   isinstances   fileNames   ImageReaders   __dict__s   selfs
   haveImagess   RuntimeErrors   Nones   _images   _widths   _heights   _transparents   _datas   _isPILImages   fps   ims   AttributeErrors   ids   open_for_reads   syss   platforms   javax.imageios   ImageIOs   reads	   PIL.Images   PILs   Images   opens   _jpeg_fps   jpeg_fhs   exc_infos   ets   evs   tbs   hasattrs   strs   argss   a(   s   selfs   fileNames   as   evs   ImageIOs   tbs   ets   PIL(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __init__ö  sD    								 c         C   s   |  i } | i d ƒ | Sd  S(   Ni    (   s   selfs   fps   seek(   s   selfs   fp(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _jpeg_fh   s    	c         C   s   t  Sd  S(   N(   s   None(   s   self(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   jpeg_fh%  s    c         C   s   |  i t j p |  i t j o[ t i d d !d j o( |  i i ƒ  |  _ |  i i ƒ  |  _ q{ |  i i	 \ |  _ |  _ n |  i |  i f Sd  S(   Ni    i   s   java(
   s   selfs   _widths   Nones   _heights   syss   platforms   _images   getWidths	   getHeights   size(   s   self(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getSize(  s     c      	   C   s•  |  i t j ozt i d d !d j od k } d k l } |  i ƒ  \ } } | i | | d ƒ } | |  i d d | | | d | ƒ }
 |
 i ƒ  g  } | i } xh t t | ƒ ƒ D]T } | | } | t | d ?d @ƒ ƒ | t | d	 ?d @ƒ ƒ | t | d @ƒ ƒ qµ Wd
 i | ƒ |  _ d |  _ qŠ|  i }	 |	 i } |  _ | d d d f j o |	 i d ƒ }	 d |  _ n |	 i ƒ  |  _ n |  i Sd S(   s'   Return byte array of RGB data as stringi    i   s   javaN(   s   PixelGrabbers   ii   iÿ   i   s    s   RGBs   Ls   CMYK(   s   selfs   _datas   Nones   syss   platforms   jarrays   java.awt.images   PixelGrabbers   getSizes   widths   heights   zeross   buffers   _images   pgs
   grabPixelss   pixelss   appends   as   ranges   lens   is   rgbs   chrs   joins   modes   ims   converts   tostring(   s   selfs   as   is   widths   buffers   jarrays   rgbs   heights   PixelGrabbers   ims   pgs   pixelss   mode(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys
   getRGBData1  s4     	$
	 
	c         C   s)   |  i ƒ  \ } } | | |  i ƒ  f Sd  S(   N(   s   selfs   getSizes   widths   heights
   getRGBData(   s   selfs   widths   height(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getImageDataO  s    c         C   s™   t  i d d !d j o t Snw |  i i i d ƒ o\ |  i i d d } |  i i } y | i } Wn | i	 } n Xt
 t | | | d !ƒ Sn t Sd  S(   Ni    i   s   javas   transparencyi   (   s   syss   platforms   Nones   selfs   _images   infos   has_keys   transparencys   palettes   datas   maps   ord(   s   selfs   palettes   transparency(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getTransparentS  s    (
   s   __name__s
   __module__s   __doc__s   __init__s   _jpeg_fhs   jpeg_fhs   getSizes
   getRGBDatas   getImageDatas   getTransparent(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   ImageReaderô  s    	*						c         C   s8   y |  i ƒ  SWn# t j
 o t |  ƒ i ƒ  Sn Xd S(   sA   Get width, height and RGB pixels from image file.  Wraps Java/PILN(   s   imageFileNames   getImageDatas   AttributeErrors   ImageReader(   s   imageFileName(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   getImageDatab  s
     s	   DebugMemoc           B   sã   t  Z d  Z d d d f  d e d „ Z d „  Z d „  Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z h  d e	 <d e <d e <d e <Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   sš  Intended as a simple report back encapsulator

    Typical usages
    1) To record error data
        dbg = DebugMemo(fn='dbgmemo.dbg',myVar=value)
        dbg.add(anotherPayload='aaaa',andagain='bbb')
        dbg.dump()

    2) To show the recorded info
        dbg = DebugMemo(fn='dbgmemo.dbg',mode='r')
        dbg.load()
        dbg.show()

    3) To re-use recorded information
        dbg = DebugMemo(fn='dbgmemo.dbg',mode='r')
            dbg.load()
        myTestFunc(dbg.payload('myVar'),dbg.payload('andagain'))

    in addition to the payload variables the dump records many useful bits
    of information which are also printed in the show() method.
    s   rl_dbgmemo.dbgs   wi   c         K   sG  d  k  } d  k } | |  _ | d j o d  Sn | o t i |  _ n0 t | d ƒ o | |  _ n t | d ƒ |  _ h  |  _	 } | o t i ƒ  t t t f j o6 d  k } t ƒ  } | i t | ƒ | i ƒ  | d <n t i ƒ  } t i | ƒ }
 t i i t i i t i d ƒ ƒ } | i h  d | i | i | i  ƒ  ƒ ƒ <d t i <d t i  <d t! t i" ƒ <d	 t i# <d
 t i$ <d t i% <d t i <d t i <d | <d | i& ƒ  <d |
 <d t i' <d t i( <d t) t d d ƒ <d t) t d d ƒ <d t) t d d ƒ <d t) t d d ƒ <d t i* <ƒ x– t d d f f t d d d d d d  d! d" d# d$ d% f f f D]U \ } } xF | D]> } t | | ƒ o( y t) | | ƒ ƒ  | | <WqÛqÛXqqWqŠW| | j o: y, | i h  d& | <d' t i | ƒ <ƒ Wq*q*Xn | oa t i i t i d ƒ } t i i/ | ƒ o1 y# | t | d( ƒ i0 ƒ  f | d) <WqŽqŽXq’n h  } x„ t i2 i3 ƒ  D]s \ } }	 | d* j p, | d+ j p | d,  d- j p | d.  d/ j o+ t) |	 d0 t ƒ } | o | | | <qq¨q¨W| | d1 <h  |  i	 d2 <|  i7 | ƒ d  S(3   Ns   ws   writes   __tracebacki    s   gmts   platforms   versions
   hexversions
   executables   exec_prefixs   prefixs   paths   argvs   cwds   hostnames   lcwds	   byteorders   maxints
   maxunicodes   ????s   api_versions   version_infos   winvers   environments   getwindowsversions   getfilesystemencodings   unames   ctermids   getgids   getuids   getegids   geteuids   getlogins	   getgroupss   getpgrps   getpids   getppids   exeds   lexeds   rs   __scripts	   reportlabs   rlextrai
   s
   reportlab.i   s   rlextra.s   __version__s   __module_versionss	   __payload(9   s   times   sockets   fns   selfs   modes   stdouts   syss   hasattrs   opens   stores   capture_tracebacks   exc_infos   Nones	   tracebacks   getStringIOs   ss	   print_excs   getvalues   oss   getcwds   cwds   listdirs   lcwds   paths   abspaths   dirnames   argvs   exeds   updates   asctimes   gmtimes   platforms   versions   hexs
   hexversions
   executables   exec_prefixs   prefixs   gethostnames	   byteorders   maxints   getattrs   environs   Ms   As   as	   getScripts   isfiles   reads   module_versionss   moduless   itemss   ns   ms   vs   _adds   kw(   s   selfs   fns   modes	   getScripts   moduless   capture_tracebacks   stdouts   kws   As   ms   lcwds   module_versionss   cwds   stores   exeds   vs   Ms   as   sockets	   tracebacks   ns   ss   time(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __init__  sf    	 #		%ÿ .@  ,# < 
c         C   s8   |  i d } x$ | i ƒ  D] \ } } | | | <q Wd  S(   Ns	   __payload(   s   selfs   stores   payloads   Ds   itemss   ks   v(   s   selfs   Ds   ks   vs   payload(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _addÈ  s     c         K   s   |  i | ƒ d  S(   N(   s   selfs   _adds   kw(   s   selfs   kw(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   addÍ  s    c         C   s,   d  k  } | i |  i t |  i d ƒ ƒ d  S(   Ns   wb(   s   pickles   dumps   selfs   stores   opens   fn(   s   selfs   pickle(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   dumpÐ  s    	c         C   s+   d  k  } | i t |  i d ƒ ƒ |  _ d  S(   Ns   rb(   s   pickles   loads   opens   selfs   fns   store(   s   selfs   pickle(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   loadÔ  s    	c         C   s¶   |  i | d ƒ | i ƒ  } | i ƒ  xˆ | D]€ } | | } y@ t | t	 i
 d ƒ } t | d t ƒ | j o d p d } Wn t } d } n X|  i d | | | f ƒ q. Wd  S(   Ni   i   s   __version__s   SAMEs	   DIFFERENTs   ??????unknown??????s     %s = %s (%s)(   s   selfs   _writelns   ks   vs   keyss   Ks   sorts   vks   recursiveImports   syss   paths   ms   getattrs   Nones   d(   s   selfs   ks   vs   ds   Ks   vks   m(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _show_module_versionsØ  s    
 
*
c         C   s   |  i d | | d f ƒ d  S(   Ns*   ###################%s %s##################i   (   s   selfs   _writelns   whats   k(   s   selfs   ks   what(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _banneræ  s    c         C   s   |  i | d ƒ d  S(   Ns   Start  (   s   selfs   _banners   k(   s   selfs   k(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _starté  s    c         C   s   |  i | d ƒ d  S(   Ns   Finish (   s   selfs   _banners   k(   s   selfs   k(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _finishì  s    c         C   s+   |  i | ƒ |  i | ƒ |  i | ƒ d  S(   N(   s   selfs   _starts   ks   _writelns   vs   _finish(   s   selfs   ks   v(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _show_linesï  s    c         C   s8   d | t i i | d ƒ f } |  i | | d ƒ d  S(   Ns   %s %si    i   (   s   ks   oss   paths   basenames   vs   selfs   _show_lines(   s   selfs   ks   v(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys
   _show_fileô  s     c         C   sE   | o: d  k } |  i | ƒ | i | |  i ƒ |  i | ƒ n d  S(   N(   s   vs   pprints   selfs   _starts   ks   stdouts   _finish(   s   selfs   ks   vs   pprint(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _show_payloadø  s
    	s   __module_versionss	   __payloads   __tracebacks   __scriptc         C   sµ   |  i i ƒ  } | i ƒ  xF | D]> } | |  i i ƒ  j o" |  i d | |  i | f ƒ q  q  WxL | D]D } | |  i i ƒ  j o( t |  i | |  | |  i | f ƒ qi qi Wd  S(   Ns
   %-15s = %s(	   s   selfs   stores   keyss   Ks   sorts   ks   specialss   _writelns   apply(   s   selfs   ks   K(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   show  s    
  &  c         C   s   |  i d | Sd  S(   Ns	   __payload(   s   selfs   stores   name(   s   selfs   name(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   payload  s    c         C   s   | |  i d | <d  S(   Ns	   __payload(   s   values   selfs   stores   name(   s   selfs   names   value(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __setitem__  s    c         C   s   |  i d | Sd  S(   Ns	   __payload(   s   selfs   stores   name(   s   selfs   name(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __getitem__  s    c         C   s   |  i i | d ƒ d  S(   Ns   
(   s   selfs   stdouts   writes   msg(   s   selfs   msg(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _writeln  s    (   s   __name__s
   __module__s   __doc__s   Nones   __init__s   _adds   adds   dumps   loads   _show_module_versionss   _banners   _starts   _finishs   _show_liness
   _show_files   _show_payloads   specialss   shows   payloads   __setitem__s   __getitem__s   _writeln(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys	   DebugMemoi  s&    I											*				c         C   s=   x6 |  D]. } t | ƒ o t | | ƒ q | | ƒ q Wd  S(   N(   s   Ls   xs	   isSeqTypes   _flattens   a(   s   Ls   as   x(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _flatten  s
      c         C   s   g  } t |  | i ƒ | Sd S(   s'   recursively flatten the list or tuple LN(   s   Rs   _flattens   Ls   append(   s   Ls   R(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   flatten  s     c         C   sD   x= n o5 |  t i | ƒ i ƒ } | o | Sn | d 7} q
 Wd S(   sP   apply func to the locals at each stack frame till func returns a non false valuei   N(   s   funcs   syss	   _getframes   depths   f_localss   _(   s   funcs   depths   _(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   find_locals#  s       s   _FmtSelfDictc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  | |  _ d  S(   N(   s   objs   selfs   overrideArgss   _overrideArgs(   s   selfs   objs   overrideArgs(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __init__+  s    	c         C   sa   y |  i | SWnK t j
 o? y |  i i | SWq] t j
 o t |  i | ƒ Sq] Xn Xd  S(   N(   s   selfs   _overrideArgss   ks   KeyErrors   objs   __dict__s   getattr(   s   selfs   k(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   __getitem__.  s    (   s   __name__s
   __module__s   __init__s   __getitem__(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _FmtSelfDict*  s   	s   FmtSelfDictc           B   s   t  Z d  Z d „  Z RS(   s    mixin to provide the _fmt methodc         K   s   t  |  | ƒ } | | Sd  S(   N(   s   _FmtSelfDicts   selfs   overrideArgss   Ds   fmt(   s   selfs   fmts   overrideArgss   D(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   _fmt9  s    (   s   __name__s
   __module__s   __doc__s   _fmt(    (    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   FmtSelfDict7  s    (r   s   __version__s   strings   oss   syss   imps   reportlab.lib.loggers   warnOnces   typess
   rltempfiles   get_rl_tempfiles   get_rl_tempdirs
   _rl_getuids   ListTypes	   TupleTypes   SeqTypess
   hexversions	   isSeqTypes   Trues   Falses
   _findFiless   dicts	   _UserDicts   UserDicts   CIDicts   names   macfss
   macostoolss   _KNOWN_MAC_EXTs   Nones   markfilenames	   reportlabs   paths   dirnames   __file__s   __RL_DIRs   isabss   abspaths   _RL_DIRs   argvs   globs   fnmatchs
   __loader__s   _isFSDs   normcases   normpaths   archives   _archives   seps   _archivepfxs   _archivedirs   _archivedirpfxs   lens   _archivepfxlens   _archivedirpfxlens   getcwds   __startswith_rls   _startswith_rls   joins   rl_globs   isfiles   splitexts   _isFSSDs   isFileSystemDistros   isCompactDistros   isSourceDistros	   _rl_accels   fp_strs   ImportErrors   reportlab.lib._rl_accels   maths   logs   _log_10s   _fp_fmtss   res   compiles   _tz_res   _FP_STRs   recursiveImports   recursiveGetAttrs   recursiveSetAttrs   import_zlibs   platforms   javax.imageios   javaxs   java.awt.images   javas
   haveImagess   PILs   Images
   __StringIOs   getStringIOs   ArgvDictValues   getArgvDicts   getHyphenaters
   _classNames   open_for_read_by_names   urllibs   urlopens   open_for_reads   open_and_reads   open_and_readliness	   rl_isfiles   isdirs   rl_isdirs   rl_get_modules   _isPILImages   ImageReaders   getImageDatas	   DebugMemos   _flattens   flattens   find_localss   _FmtSelfDicts   FmtSelfDict(N   s   recursiveImports   open_for_reads   _archivepfxlens   _KNOWN_MAC_EXTs   recursiveGetAttrs   isSourceDistros   SeqTypess   rl_isdirs   _archivedirpfxs   getHyphenaters   rl_globs	   _UserDicts   _isFSDs   flattens   _FP_STRs   rl_get_modules   getImageDatas   javaxs   _RL_DIRs   fp_strs	   reportlabs   javas   logs   _FmtSelfDicts   get_rl_tempfiles   getStringIOs   get_rl_tempdirs   _archivedirpfxlens   _isPILImages
   _rl_getuids   urllibs
   __loader__s   open_and_readliness   imps
   haveImagess	   rl_isfiles   __version__s   Trues   globs   open_for_read_by_names   strings   macfss   __file__s   __RL_DIRs   syss   _tz_res   FmtSelfDicts   getArgvDicts   recursiveSetAttrs   CIDicts   _archives   res   isFileSystemDistros   find_localss   markfilenames   _archivepfxs	   DebugMemos   _startswith_rls   Falses   import_zlibs	   isSeqTypes   ArgvDictValues   __startswith_rls   ImageReaders   open_and_reads   _flattens   _fp_fmtss   _log_10s
   _classNames   Images   fnmatchs   isCompactDistros   _isFSSDs   _archivedirs   oss
   _findFiless
   macostoolss   warnOnce(    (    s=   /home/packages/reportlab/reportlab_2_0/reportlab/lib/utils.pys   ?   sâ   $	

8Ø	,!?	%	-				)					
 	-		
	
		n	¯		