On Aug 7, 10:09 pm, Jay Loden <[EMAIL PROTECTED]> wrote:
> kj7ny wrote:
> > Is there a way that I can programmatically find the name of a method I
> > have created from within that method?  I would like to be able to log
> > a message from within that method (def) and I would like to include
> > the name of the method from which it was written without having to
> > hard-code that value in every message string.  While we're at it, is
> > there a way to programmatically get the name of the class and the
> > module while I'm at it?
>
> This is a frequently asked question around here :-)
>
> You should search the list archives for past threads, 
> e.g:http://aspn.activestate.com/ASPN/Mail/Message/python-list/3542665
>
> -Jay

Thanks for the link.  I had actually searched the past threads, but
apparently didn't enter the right search criteria because I did not
find that thread.  Or, that thread isn't findable by searching Google
groups?

I tried the example in the interpreter and it appears to work.
Despite my years and years of programming in python, I am a bit
baffled by the example though.  What is @checkPrivs (see example
copied below from other post)?  In fact... how does the thing work at
all?

------------------------------------------
def checkPrivs(fn):
    fnName = fn.func_name
    def restricted(*args):
        print "about to call function", fnName
        if fnName in listOfAllowedFunctions:
            return fn(*args)
        else:
            raise KeyError("you don't have sufficient privileges to do
THAT")
    return restricted

listOfAllowedFunctions = ['add','subtract']

@checkPrivs
def add(a,b):
    return a+b

@checkPrivs
def subtract(a,b):
    return a-b

@checkPrivs
def multiply(a,b):
    return a*b

add(1,2)
subtract(4,1)
multiply(3,2)

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to