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

装饰器2_根据认证来源判断用户和计算登录时间

时间:2017-05-28 20:57:49      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:nbsp   stat   print   start   port   hello   计算   判断   user   

 

import time

def timmer(func):
    def wrapper(*args,**kwargs):
        print("----->from timmer_wrapper")
        start_time = time.time()
        reg = func(*args,**kwargs)
        stop_time = time.time()
        run_time = stop_time - start_time
        print(‘run time is %s‘ % run_time)
        return reg
    return  wrapper

login_user={‘user‘:None,‘status‘:False}
def auth(driver = ‘file‘):
    def auth2(func):
        def wrapper(*args,**kwargs):
            print("---->from auth_wrapper")
            if driver == ‘file‘:
                if login_user[‘user‘] and login_user[‘status‘]:
                    reg = func(*args,**kwargs)
                    return reg
                else:
                    name = input("输入姓名:")
                    password = input("输入密码")
                    if name == ‘wangkc‘ and password == ‘123123‘:
                        login_user[‘user‘] = name
                        login_user[‘status‘] = True
                        reg = func(*args,**kwargs)
                        return reg
                    else:
                        print("账号或密码错误")
            elif driver == ‘ldap‘:
                pass
            elif driver == ‘MySQL‘:
                pass
            else:
                print("==========>未知的认证来源")
        return wrapper
    return auth2

@auth()
@timmer
def index():
    time.sleep(2)
    print(‘hello world‘)


index()

  

装饰器2_根据认证来源判断用户和计算登录时间

标签:nbsp   stat   print   start   port   hello   计算   判断   user   

原文地址:http://www.cnblogs.com/wangkc/p/6916481.html

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