music21.common.weakrefTools¶
Functions¶
-
music21.common.weakrefTools.
unwrapWeakref
(referent)¶ Utility function that gets an object that might be an object itself or a weak reference to an object. It returns obj() if it’s a weakref. and obj if it’s not.
>>> class Mock(object): ... pass >>> a1 = Mock() >>> a2 = Mock() >>> a2.strong = a1 >>> a2.weak = common.wrapWeakref(a1) >>> common.unwrapWeakref(a2.strong) is a1 True >>> common.unwrapWeakref(a2.weak) is a1 True >>> common.unwrapWeakref(a2.strong) is common.unwrapWeakref(a2.weak) True
-
music21.common.weakrefTools.
wrapWeakref
(referent)¶ utility function that wraps objects as weakrefs but does not wrap already wrapped objects; also prevents wrapping the unwrapable “None” type, etc.
>>> import weakref >>> class Mock(object): ... pass >>> a1 = Mock() >>> ref1 = common.wrapWeakref(a1) >>> ref1 <weakref at 0x101f29ae8; to 'Mock' at 0x101e45358> >>> ref2 = common.wrapWeakref(ref1) >>> ref2 <weakref at 0x101f299af; to 'Mock' at 0x101e45358> >>> ref3 = common.wrapWeakref(5) >>> ref3 5