ó [Z-Lc@sUdZddlZddlZd„Zdd„Zdd„Zd„Zd „ZdS( sQ Miscellaneous functions/objects used by Cheetah but also useful standalone. iÿÿÿÿNcCs%tjj|dƒtjdƒdS(Ns i(tsyststderrtwritetexit(treason((s?/opt/freeware/lib/python2.7/site-packages/Cheetah/Utils/Misc.pytdie stcCs1t|tƒr-t|tƒr-||ƒ‚n|S(suRaise 'thing' if it's a subclass of Exception. Otherwise return it. Called by: Cheetah.Servlet.cgiImport() (t isinstancettypet issubclasst Exception(tthingterrmsg((s?/opt/freeware/lib/python2.7/site-packages/Cheetah/Utils/Misc.pyt useOrRaisestargumentcCs@x9|jƒD]+}||kr td||fƒ‚q q WdS(sˆVerify no illegal keyword arguments were passed to a function. in : dic, dictionary (**kw in the calling routine). legalKeywords, list of strings, the keywords that are allowed. what, string, suffix for error message (see function source). out: None. exc: TypeError if 'dic' contains a key not in 'legalKeywords'. called by: Cheetah.Template.__init__() s'%s' is not a valid %sN(tkeyst TypeError(tdict legalKeywordstwhattk((s?/opt/freeware/lib/python2.7/site-packages/Cheetah/Utils/Misc.pyt checkKeywordss  cGs:x3|D]+}y|j|ƒWqtk r1qXqWdS(s‰Save as list_.remove(each element) but don't raise an error if element is missing. Modifies 'list_' in place! Returns None. N(tremovet ValueError(tlist_telementstelm((s?/opt/freeware/lib/python2.7/site-packages/Cheetah/Utils/Misc.pytremoveFromList)s   cCs’tjj|ƒ\}}|r>tjj|ƒ r>t|ƒntjj|ƒsŽtj|ƒtjj|dƒ}t|dƒ}|jƒndS(sSame as os.makedirs (mkdir 'path' and all missing parent directories) but also puts a Python '__init__.py' file in every directory it creates. Does nothing (without creating an '__init__.py' file) if the directory already exists. s __init__.pytwN( tostpathtsplittexiststmkdirsWithPyInitFilestmkdirtjointopentclose(Rtdirtfiltinittf((s?/opt/freeware/lib/python2.7/site-packages/Cheetah/Utils/Misc.pyR!4s  (t__doc__RRRR RRR!(((s?/opt/freeware/lib/python2.7/site-packages/Cheetah/Utils/Misc.pyts