Terry J. Reedy <tjre...@udel.edu> added the comment:

I agree on consistency.  I will make a PR for you to review.

Do you think a minimal code example might help?  Running ...

import sys

def hook(name, args):
    if name.startswith('compile'):
        print(name, args)

sys.addaudithook(hook)
compile('a = 1', '<dummy>', 'exec')

# prints

compile (b'a = 1', '<dummy>')

My own interest is learning about the socket connecting an IDLE GUI process and 
the user code run process.  The following in the two startup files:

def hook(name, args):
    if name.startswith('socket'):
        print('I', name, args)  # I/R in the IDLE/run processes.
sys.addaudithook(hook)

results in:

I socket.gethostname ()
R socket.gethostname ()
I socket.bind (<socket.socket fd=796, family=AddressFamily.AF_INET, 
type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 0))
R socket.bind (<socket.socket fd=796, family=AddressFamily.AF_INET, 
type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 0))
R socket.connect (<socket.socket fd=816, family=AddressFamily.AF_INET, 
type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 62119))
I socket.__new__ (<socket.socket fd=-1, family=AddressFamily.AF_UNSPEC, type=0, 
proto=0>, 2, 1, 0)
R socket.__new__ (<socket.socket fd=-1, family=AddressFamily.AF_UNSPEC, type=0, 
proto=0>, 2, 1, 0)

To go further, I might wrap socket.socket.send/recv with functions that call 
sys.audit.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue38892>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to