B __ @sRdZddlZddlZddlZddlZddlmZd ddZd ddZd d d Z dS)z$Decorator for deprecating functions.N)DeveloperErrorcCsz|dkr6t|rd}nt|r(d}nd}d|f}g}|rN|d|f|r`|d||rv|dd |7}|S) zcGenerate the default deprecation message. See deprecated() function for argument details. Nz classz functionzBThis%s has been deprecated and may be removed in a future release.zdeprecated in %szwill be removed in %sz (%s)z, )inspectisclass isfunctionappendjoin)Zuser_msgversion remove_infunc_objcommentr.wrap..wrapperzDEPRECATION WARNING: %sr)rz )r functoolswraps__doc__rrdedentr)r r()r rr r )r r'rwrapRs zdeprecated..wrap)r)rr r r r-r)r rr r r deprecated6sr.)N)rNN)NrNN) r+rr)rrZpyomo.common.errorsrrr!r.rrrrs