diff options
author | Guido van Rossum <guido@python.org> | 1996-09-10 17:37:05 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-09-10 17:37:05 (GMT) |
commit | be0a8a6042482fa09519379b3c3ea062c0344d71 (patch) | |
tree | 2ad1338ac97e588a5b094c9da335120b33e29428 /Doc/libbastion.tex | |
parent | c05797dd1506d1f5d6d9a3a57becf91baf1e4801 (diff) | |
download | cpython-be0a8a6042482fa09519379b3c3ea062c0344d71.zip cpython-be0a8a6042482fa09519379b3c3ea062c0344d71.tar.gz cpython-be0a8a6042482fa09519379b3c3ea062c0344d71.tar.bz2 |
Added bastion and (dummy) rexec docs
Diffstat (limited to 'Doc/libbastion.tex')
-rw-r--r-- | Doc/libbastion.tex | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Doc/libbastion.tex b/Doc/libbastion.tex new file mode 100644 index 0000000..158ec08 --- /dev/null +++ b/Doc/libbastion.tex @@ -0,0 +1,37 @@ +\section{Standard Module \sectcode{Bastion}} +\stmodindex{Bastion} +\renewcommand{\indexsubitem}{(in module Bastion)} + +% I'm concerned that the word 'bastion' won't be understood by people +% for whom English is a second language, making the module name +% somewhat mysterious. Thus, the brief definition... --amk + +According to the dictionary, a bastion is ``a fortified area or +position'', or ``something that is considered a stronghold.'' It's a +suitable name for this module, which provides a way to forbid access +to certain attributes of an object. It must always be used with the +\code{rexec} module, in order to allow restricted-mode programs access +to certain safe attributes of an object, while denying access to +other, unsafe attributes. + +% I've punted on the issue of documenting keyword arguments for now. + +\begin{funcdesc}{Bastion}{object\optional{\, filter\, name\, class}} +Protect the class instance \var{object}, returning a bastion for the +object. Any attempt to access one of the object's attributes will +have to be approved by the \var{filter} function; if the access is +denied an AttributeError exception will be raised. + +If present, \var{filter} must be a function that accepts a string +containing an attribute name, and returns true if access to that +attribute will be permitted; if \var{filter} returns false, the access +is denied. The default filter denies access to any function beginning +with an underscore (\code{_}). The bastion's string representation +will be \code{<Bastion for \var{name}>} if a value for +\var{name} is provided; otherwise, \code{repr(\var{object})} will be used. + +\var{class}, if present, would be a subclass of \code{BastionClass}; +see the code in \file{bastion.py} for the details. Overriding the +default \code{BastionClass} will rarely be required. + +\end{funcdesc} |