ó IÀSc@s‚dZddlZddlZddlmZddlmZejeƒZd„Z d„Z d„Z de fd „ƒYZ dS( s^Callback management class, common area for keeping track of all callbacks in the Pika stack. iÿÿÿÿN(tframe(t amqp_objectcCsœyt|tjƒr|jSWntk r0nXt|tjƒrM|jjSt|tjƒrf|jSyt |ƒSWn!t k r—t |j dƒƒSXdS(sñWill take Frame objects, classes, etc and attempt to return a valid string identifier for them. :param value: The value to sanitize :type value: pika.amqp_object.AMQPObject|pika.frame.Frame|int|unicode|str :rtype: str sutf-8N( t issubclassRt AMQPObjecttNAMEt TypeErrort isinstanceRtMethodtmethodtstrtUnicodeEncodeErrortencode(tvalue((s1/usr/lib/python2.7/site-packages/pika/callback.pyt_name_or_values     cs"tjˆƒ‡fd†ƒ}|S(s:Automatically call _name_or_value on the prefix passed in.csÏt|ƒ}d}d|kr5t|dƒ|ds