Ryan Hileman <lunixbo...@gmail.com> added the comment:

I agree that READ_RESTRICTED would work, and I'm strongly in support of 
refactoring my patch around that kind of flag, as it simplifies it quite a bit 
and the if statement is already there.

However, using the seemingly legacy RESTRICTED flag names for audit is 
confusing in my opinion:

- The audit subsystem does something entirely different from the long 
deprecated "Restricted execution" feature (removed in 3.0?)
- Nothing in the stdlib uses RESTRICTED that I can see.
- The documentation for RESTRICTED flags (Doc/extending/newtypes.rst) doesn't 
say anything about the audit system for READ_RESTRICTED, and talks about 
restricted mode as though it still exists.
- RESTRICTED only supports __getattr__ (PY_WRITE_RESTRICTED does nothing at 
all, and there is no delattr equivalent). This doesn't actually matter for this 
patch, it's just confusing in the context of audit, as there are 
`object.__setattr__` and `object.__delattr__` audit points but no corresponding 
flags.

I think it could make sense to:
1. Alias READ_RESTRICTED to a new READ_AUDIT flag and use the latter instead, 
as it is more clear.
2. Update the newtype docs to mention READ_AUDIT and remove documentation for 
the the unused RESTRICTED flags.
3. Deprecate the non-functional RESTRICTED flags if that's possible?
4. Only cross the setattr/delattr audit flag bridge if a future refactor calls 
for it.

----------

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

Reply via email to