示例#1
0
import sys
sys.path.append('.')
##################### 以上两行只是为了方便开发,实际不需要 #######################

import dutsso
import getpass
from prettytable import PrettyTable

u = dutsso.User(input('\n请输入学号:'), getpass.getpass('请输入密码:'))

login = u.login()
if login:
    # 查询本科生成绩
    # course_type参数:all代表查看所有,bx代表知产看必修,xx代表只查看选修,rx代表只查看任选(不填默认为all)。
    # recently参数:True代表只查看本学期(近期)成绩,False代表查看本科阶段所有成绩(不填默认为False)。
    scores = u.get_score_bks(course_type="all", recently=True)
    print("\n————您的本学期成绩信息如下————")
    x = PrettyTable(["课程名称", "分数", "学分", "课程类型"])
    for i in scores:
        x.add_row([i['c_name'], i['c_value'], i['c_score'], i['c_type']])
    print(x)
示例#2
0
import sys
sys.path.append('.')
##################### 以上两行只是为了方便开发,实际不需要 #######################

import getpass
import dutsso

# 创建User对象(方法一)
username = input('\n请输入学号:')
password = getpass.getpass('请输入密码:')
u = dutsso.User(username, password)

# 创建User对象(方法二)
# u = dutsso.User()
# u.username = input('\n请输入学号:')
# u.password = getpass.getpass('请输入密码:')

# 登录
login = u.login()
if login:
    print("%s(%s)登录成功!" % (u.name, u.type))
else:
    print("用户名密码错误!")

# 检测登录状态
if u.isactive():
    print("当前处于登录状态")
else:
    print("登录状态失效")

# 退出登录
示例#3
0
        for i in all_list:
            content += "<p>%s</p>" % i['c_name']
    else:
        subject = "课程《%s》选课成功!" % course['c_name']
        content = "<p>%s您好,已为您选择一门课程:</p>" % u.name
        content += course['c_name']

    content += "<hr /><p>我的Github主页:<a href='https://github.com/yuanyuanzijin'>https://github.com/yuanyuanzijin</a></p><p>Powered by Zijin</p>"
    back = zmail.send(config, u.emailaddr, content, subject)
    return back


print('\n********** 欢迎使用大连理工大学研究生选课系统 **********')
print('******************** Powered by Zijin ********************')

u = dutsso.User()
success = 0

while 1:
    u.username = input('\n请输入学号:')
    u.password = getpass.getpass('请输入密码:')
    u.emailaddr = input('请输入提醒邮箱(为空则表示不提醒):')

    login = u.login()
    if not login:
        print("用户名密码错误!")
    else:
        print("%s(%s)登录成功!" % (u.name, u.type))
        break

course_list = u.get_course_not_choosed()
示例#4
0
import sys
sys.path.append('.')
##################### 以上两行只是为了方便开发,实际不需要 #######################

import getpass
import dutsso

username = input("请输入学号:")
password = getpass.getpass("请输入密码:")
u = dutsso.User(username=username, password=password)
login = u.login(try_cookies=False)
if not login:
    print("用户名或密码错误!")
    exit(-1)

print("明文方式登录成功!")

# 获取密文密码
encrypted_password = u.get_encrypted_password()
if encrypted_password:
    print("\n密文密码为:" + encrypted_password)
    print("再登录时可以使用该encrypted_password参数代替password参数,只要原密码不改变,该值是不变的。")
    print("在使用数据库储存账号密码时,请使用该值代替密码,尽管它也可以被解密还原,但至少比直接保存明文密码安全一些。")
else:
    print("登录失败!")

# 退出登录
u.logout()
print("\n已退出登录!下面进行密文登录演示:")

# 创建新对象进行密文密码登录演示
示例#5
0
    content += '*****共找到%d条选修课成绩' % len(scores["xx"])
    for i in scores["xx"].keys():
        line = "<p>" + i + " " + scores["xx"][i] + "</p>"
        content += line
    content += "<hr /><p>我的Github主页:<a href='https://github.com/yuanyuanzijin'>https://github.com/yuanyuanzijin</a></p><p>Powered by Zijin</p>"
    back = zmail.send(config, obj.emailaddr, content, subject)
    obj.first_use = 0
    return back

print('\n********** 欢迎使用大连理工大学研究生成绩自助查询系统 **********')
print('*********************** Powered by Zijin ***********************')

u_len = int(input("请输入同时检测的人数:"))
u = {}
for i in range(u_len):
    u['u'+str(i)] = dutsso.User()
    u['u'+str(i)].old_num = 0
    u['u'+str(i)].first_use = 1

    while 1:
        u['u'+str(i)].username = input('\n请输入第%d个用户的学号:' % (i+1))
        u['u'+str(i)].password = getpass.getpass('请输入第%d个的用户密码:' % (i+1))
        u['u'+str(i)].emailaddr = input("请输入第%d个用户的提醒邮箱:" % (i+1))

        # SSO登录
        login = u['u'+str(i)].login()
        if login:
            print(u['u'+str(i)].name + "登录成功!")
            break
        else:
            print("第%d个用户用户名密码错误!" % i)
示例#6
0
        "请检查配置文件的路径!并请确保已将项目中的single_user_config.ini.example重命名为single_user_config.ini"
    )

c = configparser.ConfigParser()
try:
    with open(config_path) as f:
        c.readfp(f)
        username = c.get('user', 'username')
        encrypted_password = c.get('user', 'encrypted_password')
        password_length = c.get('user', 'password_length')
except:
    print("single_user_config.ini配置文件格式有误,请检查重试!")
    exit(-1)

u = dutsso.User(username=username,
                encrypted_password=encrypted_password,
                password_length=password_length)
login = u.login(show_info=False)
if not login:
    print("登录失败!")
    exit(-1)

bath = u.get_bathroom()
data_bs0 = bath['bs0']['use']
data_bs1 = bath['bs1']['use']
data_xs0 = bath['xs0']['use']
data_xs1 = bath['xs1']['use']

db_path = os.path.join(sys.path[0], "bathroom.db")
conn = sqlite3.connect(db_path)
cursor = conn.cursor()