コード例 #1
0
ファイル: app.py プロジェクト: zhanglong362/zane
def set_permission():
    while True:
        name = input_string('请输入要删除的用户名', name=True)
        if not utils.checkpath(USER_FILE % (name, name)):
            logger.warning('用户%s不存在!' % name)
            return
        params = {'mode': 'r', 'file_path': USER_FILE % (name, name)}
        user_info = utils.file_handler(**params)
        action_menu = {
            '1': ['admin', '管理员'],
            '2': ['user', '普通用户'],
        }
        print('=' * 30)
        for k, v in action_menu.items():
            print('%-6s %-10s' % (k, v[1]))
        print('=' * 30)
        code = input_string('请输入操作编码')
        if code in action_menu:
            permission = action_menu[code][0]
        else:
            logger('操作编码非法!')
            continue
        if permission == 'admin':
            user_info['permission'] = 'admin'
        if permission == 'user':
            user_info['permission'] = 'user'
        params = {
            'mode': 'r',
            'file_path': USER_FILE % (name, name),
            'data': user_info
        }
        utils.file_handler(**params)
        logger.info('设置用户%s权限为%s成功!' % (name, permission))
        return True
コード例 #2
0
ファイル: app.py プロジェクト: zhanglong362/zane
def login():
    '''
    Function login to login shopping mall
    :return: True or None
    '''
    global CURRENT_USER, COOKIES
    while True:
        name = input_string('用户名', name=True)
        if not utils.checkpath(settings.USER_FILE % (name, name)):
            logger.warning('用户%s没有注册,请您先注册!' % name)
            break
        if name in COOKIES:
            logger.info('用户%s已经是登陆状态!' % name)
            CURRENT_USER = name
            return True
        password = input_string('密码')
        params = {'file_path': settings.USER_FILE % (name, name), 'mode': 'r'}
        user_info = utils.file_handler(**params)
        if password != user_info['password']:
            logger.warning('用户%s密码错误!' % name)
            continue
        logger.info('用户%s登陆成功!' % name)
        CURRENT_USER = name
        COOKIES[name] = {
            'balance': user_info['balance'],
            'credit_balance': user_info['credit_balance'],
            'credit_limit': user_info['credit_limit'],
            'bill': user_info['bill']
        }
        load_user_shopping_cart(name)
        return True
コード例 #3
0
ファイル: app.py プロジェクト: zhanglong362/zane
def register(credit_limit=50000):
    '''
    Funtion register to user register
    :param credit_limit: user's credit limit
    :return: True or None
    '''
    name = input_string('用户名', name=True)
    if utils.checkpath(settings.USER_FILE % (name, name)):
        logger.warning('用户%s已经注册,请直接登陆!' % name)
        return
    password = input_string('密码', register=True)
    params = {
        'file_path': settings.USER_FILE % (name, name),
        'mode': 'w',
        'data': {
            'name': name,
            'password': password,
            'permission': 'user',  # admin: 管理员  user: 普通用户
            'status': 0,  # 0:正常 1: 锁定用户
            'balance': 0,
            'credit_balance': credit_limit,
            'credit_limit': credit_limit,  # 0 冻结
            'bill': 0
        }
    }
    if utils.file_handler(**params):
        logger.info('用户%s注册成功!' % name)
        return True
コード例 #4
0
ファイル: app.py プロジェクト: zhanglong362/zane
def get_shopping_orders(month=None):
    if not month:
        month = datetime.datetime.now().strftime('%Y%m')
    order_dir = settings.ORDER_DIR % (CURRENT_USER, month)
    if utils.checkpath(order_dir):
        file_list = os.listdir(order_dir)
        print('=' * 50)
        print('%s 订单信息:' % month)
        for f in file_list:
            params = {'mode': 'r', 'file_path': os.path.join(order_dir, f)}
            data = utils.file_handler(**params)
            print(data)
        print('=' * 50)
コード例 #5
0
ファイル: app.py プロジェクト: zhanglong362/zane
def lock_user():
    name = input_string('请输入要锁定的用户名', name=True)
    if not utils.checkpath(USER_FILE % (name, name)):
        logger.warning('用户%s不存在!' % name)
        return
    params = {'mode': 'r', 'file_path': USER_FILE % (name, name)}
    user_info = utils.file_handler(**params)
    user_info['status'] = 1
    params = {
        'mode': 'r',
        'file_path': USER_FILE % (name, name),
        'data': user_info
    }
    utils.file_handler(**params)
    logger.info('锁定用户%s成功!' % name)
    return True
コード例 #6
0
ファイル: app.py プロジェクト: zhanglong362/zane
def remove_user():
    name = input_string('请输入要删除的用户名', name=True)
    if not utils.checkpath(USER_FILE % (name, name)):
        logger.warning('用户%s不存在!' % name)
        return
    params = {'mode': 'r', 'file_path': USER_FILE % (name, name)}
    user_info = utils.file_handler(**params)
    if user_info['bill'] > 0:
        logger.warning('用户%s本期账单未还清,无法删除用户!' % name)
        return
    if user_info['credit_balance'] < user_info['credit_limit']:
        logger.warning('用户%s信用卡有未出账账单,无法删除用户!' % name)
        return
    if user_info['balance'] > 0:
        logger.warning('用户%s有账户余额未消费,无法删除用户!' % name)
        return
    os.remove(os.path.join(USER_DIR, name))
    logger.info('删除用户%s完成!' % name)
    return True