From be0a8a6042482fa09519379b3c3ea062c0344d71 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 10 Sep 1996 17:37:05 +0000 Subject: Added bastion and (dummy) rexec docs --- Doc/Makefile | 2 +- Doc/lib.tex | 2 ++ Doc/lib/lib.tex | 2 ++ Doc/lib/libbastion.tex | 37 +++++++++++++++++++++++++++++++++++++ Doc/lib/librexec.tex | 5 +++++ Doc/libbastion.tex | 37 +++++++++++++++++++++++++++++++++++++ Doc/librexec.tex | 5 +++++ 7 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 Doc/lib/libbastion.tex create mode 100644 Doc/lib/librexec.tex create mode 100644 Doc/libbastion.tex create mode 100644 Doc/librexec.tex diff --git a/Doc/Makefile b/Doc/Makefile index 3ff2768..6c2afb1 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -127,7 +127,7 @@ LIBFILES = lib.tex \ libmacfs.tex libmacos.tex libmacostools.tex libmactcp.tex \ libmacspeech.tex libmacui.tex libstdwin.tex libsgi.tex libal.tex \ libcd.tex libfl.tex libfm.tex libgl.tex libimgfile.tex libsun.tex \ - libxdrlib.tex libimghdr.tex + libxdrlib.tex libimghdr.tex librexec.tex libbastion.tex # Library document lib.dvi: $(LIBFILES) diff --git a/Doc/lib.tex b/Doc/lib.tex index 2c99cbe..3e74935 100644 --- a/Doc/lib.tex +++ b/Doc/lib.tex @@ -83,6 +83,8 @@ to Python and how to embed it in other applications. \input{libcopy} \input{libmarshal} \input{libimp} +\input{librexec} +\input{libbastion} \input{libparser} \input{libbltin} % really __builtin__ \input{libmain} % really __main__ diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex index 2c99cbe..3e74935 100644 --- a/Doc/lib/lib.tex +++ b/Doc/lib/lib.tex @@ -83,6 +83,8 @@ to Python and how to embed it in other applications. \input{libcopy} \input{libmarshal} \input{libimp} +\input{librexec} +\input{libbastion} \input{libparser} \input{libbltin} % really __builtin__ \input{libmain} % really __main__ diff --git a/Doc/lib/libbastion.tex b/Doc/lib/libbastion.tex new file mode 100644 index 0000000..158ec08 --- /dev/null +++ b/Doc/lib/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{} 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} diff --git a/Doc/lib/librexec.tex b/Doc/lib/librexec.tex new file mode 100644 index 0000000..76e63fc --- /dev/null +++ b/Doc/lib/librexec.tex @@ -0,0 +1,5 @@ +\section{Standard Module \sectcode{rexec}} +\stmodindex{rexec} +\renewcommand{\indexsubitem}{(in module rexec)} + +XXX To be provided. 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{} 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} diff --git a/Doc/librexec.tex b/Doc/librexec.tex new file mode 100644 index 0000000..76e63fc --- /dev/null +++ b/Doc/librexec.tex @@ -0,0 +1,5 @@ +\section{Standard Module \sectcode{rexec}} +\stmodindex{rexec} +\renewcommand{\indexsubitem}{(in module rexec)} + +XXX To be provided. -- cgit v0.12