-í
ñ <c       sô     d  Z   ! h  d d <d d <d d <d d <d	 d
 <d d <d d <d d <Z 2 y 3 e d i d ƒ d Z Wn 4 5 d Z n X: d k Z ; d k Z @ d k l Z F d d „ Z { d „  Z ´ d e f d „  ƒ  YZ	 d S(   s/   Functions for handling options and arguments.

s   $RCSfile: optiontools.py,v $s   module_names@   $Id: optiontools.py,v 1.2 2001/11/25 13:24:20 doughellmann Exp $s   rcs_ids(   Doug Hellmann <DougHellmann@bigfoot.com>s   creators   HappyDocs   projects   Sat, 03-Feb-2001 09:55:18 ESTs   createds   $Author: doughellmann $s   authors   $Revision: 1.2 $s   versions   $Date: 2001/11/25 13:24:20 $s   dates    i   s   0.0N(   s   StreamFlushTests   _c    s  F S W h  } X g  } \ | i } ] t i } ^ t i }
 _ t |  ƒ } ` | t | ƒ } d xž | Dd ]“ } h | | d ƒ d j  o i | | ƒ j qh n n | |  |  j o o | | ƒ p qh n t |
 | d ƒ \ }	 } u |	 | } v | | | <qh Ww | | f Sd S(   sX  Find parameter settings in an argument sequence.

    Arguments

      prefix -- Parameter names must begin with this string followed
                by 'prefixSeparator'.

      args -- Sequence containing arguments to scan.

      prefixSeparator -- String separating 'prefix' from actual
                         parameter names.
      
    s   =i    N(   s   parameter_sets   ignored_valuess   appends   ignores   strings   finds   splits   lens   prefixs
   prefix_lens   prefixSeparators   full_prefix_lens   argss	   candidates   param_with_prefixs   vals   param(   s   prefixs   argss   prefixSeparators   ignored_valuess	   candidates   parameter_sets   full_prefix_lens   ignores   vals   param_with_prefixs   splits
   prefix_lens   params   find(    (    sU   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/optiontools.pys   getParametersF s(   		
 	

c    sI  { † ‡ t  |  ƒ } ‰ | t i t i f j o  t |  ƒ } nÉ  | t i j o ” t	 i
 |  ƒ } • | d d d d f j o – d } n_ — | d d d d	 d
 f j o ˜ d } n3 œ y  t |  ƒ } Wn ž t j
 o
 Ÿ n Xn ¡ |  o ¨ d } n ª y « | SWn( ¬ t j
 o ± t d |  ƒ ‚ n Xd S(   si  Convert value for a boolean argument into a boolean representation.

    When presented with a representation of a boolean value, convert that
    represetntation to a 1 or 0 and return it.  Currently accepts:

      - integer or floating point values

      - strings (with mixed case) with words 'true', 'false', 'yes',
        'no', 'on', 'off', 'None'

    s   ys   trues   yess   oni   s   ns   falses   nos   offs   Nonei    s   Unrecognized boolean valueN(   s   types
   inputValues   ts   typess   IntTypes	   FloatTypes   ints   bool_vals
   StringTypes   strings   lowers   lower_inputs
   ValueErrors	   NameError(   s
   inputValues   bool_vals   lower_inputs   t(    (    sU   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/optiontools.pys   getBooleanArgumentValue{ s(   s   OptionToolTestc      s   ´ ¶ d „  Z  Á d „  Z RS(   Nc    sÎ   ¶ · x` d d d d d d d d d	 d
 d d f D· ]1 } ¹ t o! t | ƒ p t d t | ƒ ‚ q1 W» x[ d d d d d d d d d d f
 D» ]2 } ½ t o" t | ƒ p t d t | ƒ ‚ q‘ Wd  S(   Ni   iÿÿÿÿs   1s   -1s   ys   Ys   yess   Yess   YESs   ons   Ons   ONs%   Failed to convert %s to a true value.i    s   0s   ns   Ns   nos   Nos   NOs   offs   Offs   OFFs&   Failed to convert %s to a false value.(   s   true_vals	   __debug__s   getBooleanArgumentValues   AssertionErrors   strs	   false_val(   s   selfs	   false_vals   true_val(    (    sU   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/optiontools.pys   testBooleanConversion¶ s   . 	/( 	c    sÁ   Á Â h  d d <d d <d d <} Ç d d g } É t d Ê d	 d
 d d d g ƒ \ } } Ñ t o! | | j p t d t | ƒ ‚ Ó t o! | | j p t d t | ƒ ‚ Õ d  Sd  S(   Ns   As   as   Bs   bs	   longValues   longNames   foos   blahs   foo_a=As   foo_b=Bs   foo_longName=longValues)   Did not find expected parameters.  Got %ss-   Did not preserve expected left overs.  Got %s(   s   expected_valss   expected_left_overss   getParameterss
   left_overss   actual_valss	   __debug__s   AssertionErrors   str(   s   selfs
   left_overss   expected_valss   actual_valss   expected_left_overs(    (    sU   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/optiontools.pys   testParameterExtractionÁ s   $	!++(   s   testBooleanConversions   testParameterExtraction(    (    (    sU   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/optiontools.pys   OptionToolTest´ s   (
   s   __doc__s   __rcs_info__s   splits   __version__s   strings   typess   StreamFlushTests   getParameterss   getBooleanArgumentValues   OptionToolTest(   s   getBooleanArgumentValues   StreamFlushTests   __rcs_info__s   __version__s   OptionToolTests   getParameterss   typess   string(    (    sU   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/optiontools.pys   ? s   Q59