iro/newinterface.py
branchdevel
changeset 85 edf7e94cd607
parent 81 fea4c6760ca5
equal deleted inserted replaced
84:741df1947e6d 85:edf7e94cd607
    34         raise UserNotFound()
    34         raise UserNotFound()
    35 
    35 
    36 def with_user(f):
    36 def with_user(f):
    37     def new_f(*args,**kargs):
    37     def new_f(*args,**kargs):
    38         args=list(args)
    38         args=list(args)
       
    39         logging.debug("Entering %s"%f.__name__)
    39         try:
    40         try:
    40             logging.debug("Entering %s"%f.__name__)
    41             kargs["user"]=getuser(kargs["apikey"])
    41             try:
    42             del kargs["apikey"]
    42                 kargs["user"]=getuser(kargs["apikey"])
    43         except KeyError:
    43                 del kargs["apikey"]
    44             kargs["user"]=getuser(args[1])
    44             except KeyError:
    45             del args[1]
    45                 kargs["user"]=getuser(args[1])
    46         ret=f(*args,**kargs)
    46                 del args[1]
    47         logging.debug("Exited %s"%f.__name__)
    47             ret=f(*args,**kargs)
    48         return ret
    48             logging.debug("Exited %s"%f.__name__)
       
    49             return ret
       
    50         except InterfaceException, e:
       
    51             return e.dict()
       
    52     new_f.__name__ = f.__name__
    49     new_f.__name__ = f.__name__
    53     return new_f
    50     return new_f
    54 
    51 
    55 
    52 
    56 class InterfaceException(Exception):
    53 class InterfaceException(Exception):