def _getEditData(self):
        if self.fileReference:
            def _safeRefPyNode(n):
                n = _safePyNode(_safeEval(n))
                if self.namespace in n:
                    ns = self.fileReference.refNode.namespace()
                    if not ns==":":
                        n = n.addPrefix(ns)
                return n
        else:
            def _safeRefPyNode(n):
                return _safePyNode(_safeEval(n))

        import pymel.tools.mel2py as mel2py
        pyCmd = "".join(mel2py.mel2pyStr(self + ";").splitlines()[1:])  # chop off the 'import pymel' line
        args, kwargs = eval("dummy" + "".join(pyCmd.partition("(")[1:]), {}, dict(dummy=lambda *x,**y: (x, y)))

        elements = self.split()
        elements.pop(0)
        editData = {}
        if self.type=="addAttr":
            editData['node'] = _safeRefPyNode(elements.pop(-1))
            editData['attribute'] = elements.pop(1)
        elif self.type=="setAttr":
            editData['node'] = _safeRefPyNode(elements.pop(0))
            editData['value'] = " ".join(elements)
        elif self.type=="parent":
            editData['node'] = _safeRefPyNode(elements.pop(-1))
            if elements[-1]=="-w":
                editData['child'] = '<World>'
            else:
                editData['child'] = _safePyNode(elements.pop(-1))
        elif self.type=="disconnectAttr":
            if elements[0].startswith("-"):
                elements.append(elements.pop(0))
            refNode, otherNode = map(_safeRefPyNode, elements[:2])
            editData['sourceNode'] = refNode
            editData['targetNode'] = otherNode
            otherNode, refNode = sorted([otherNode, refNode], key=lambda  n: self.namespace in n)
            editData['node'] = refNode
            del elements[:2]
        elif self.type=="connectAttr":
            if elements[0].startswith("-"):
                elements.append(elements.pop(0))
            refNode, otherNode = map(_safeRefPyNode, elements[:2])
            editData['sourceNode'] = refNode
            editData['targetNode'] = otherNode
            otherNode, refNode = sorted([otherNode, refNode], key=lambda  n: self.namespace in n)
            editData['node'] = refNode
            del elements[:2]
        else:
            editData['node'] = _safeRefPyNode(elements.pop(0))
        editData['parameters'] = map(str, elements)

        editData['args'] = args
        editData['kwargs'] = kwargs

        return editData
The key for the keyboard shortcut. Set modifier keys in modifierMask() further below.
dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/maya/site-packages/pymel-1.0.3/pymel/core/system.py/ReferenceEdit._getEditData--crossover with--dataset/ETHPy150Open Tosche/BubbleKern/ShowKernBubbles.glyphsReporter/Contents/Resources/ShowKernBubbles.py/ShowKernBubbles.keyEquivalent