码迷,mamicode.com
首页 > 其他好文 > 详细

decorator高潮版

时间:2017-11-11 18:56:35      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:invalid   lda   pass   passwd   **kwargs   tor   rgs   ldap   port   

import time

user,passwd = ‘zaizai‘,‘abc123‘

def auth(auth_type):

      print("auth func:",auth_type)

      def outer_wrapper(func):

             def wrapper(*args,**kwargs)

                   print("wrapper func args:",*args,**kwargs)

                   if auth_type == "local":

                      username = input("Username:").strip()

                      password = input("Password:").strip()

                      if user == username and passwd == password:

                             print("User has passed authtication")

                             res = func(*args,**kwargs)

                             return res

                       else:

                              exit("Invalid username or password")

                   elif auth_type == "ldap"

                           print("搞毛线ldap")

             return wrapper      

      return outer_wrapper

def index():

      print("welcome to index page")

@auth(auth_type"local") 

def home():

      print("welcome to home page")

      return "from home"

@auth(auth_type="ldap")

def bbs():

      print("welcome to bbs page")

index()

print(home())

bbs()

decorator高潮版

标签:invalid   lda   pass   passwd   **kwargs   tor   rgs   ldap   port   

原文地址:http://www.cnblogs.com/zaizaiaipython/p/7819546.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!