Ejemplo n.º 1
0
def get(url):
    try:
        print url
        gen_log.info("GET: URL[%s]", url)
        return utils.urlopen(url).read()
    except:
        gen_log.info(traceback.format_exc())
        print traceback.format_exc()
        return None
Ejemplo n.º 2
0
def ssoed(uid):
    """
    Check if user is registered int
    """
    url = config.moodle_url + '/speiyou/check_sso.php?uid=' + uid
    rs = get(url)
    if rs and "EMPTY_USER" != rs:
        gen_log.info("Token User Exists uid=[%s], moodleUserId[%s]", uid, rs)
        return rs
Ejemplo n.º 3
0
def sms(uid, content):
    """
    短信接口:

    """
    md5 = mk_md5(uid)
    url = url_prefix + "/huanxun/v1/sms.json?uid=%s&content=%s"
    logger.info("Invoke %s ", url)
    x = get_with_header({"sys": _sys, "plat": _plat, "md5": md5}, url % (uid, urllib.quote(content)))
    return log_it(x)
Ejemplo n.º 4
0
def send_enrol_file(uid, cla_id):
    url = set_file_url(uid, cla_id)
    if ssoed(uid):
        rs = get(url)
        if rs == "True":
            exe_cron()
            return True
        else:
            gen_log.info("Failed to send enrol file [%s], result[%s]", uid + cla_id, rs)
    return False
Ejemplo n.º 5
0
def http_post(host, api, method, param, headers):
    try:
        conn = httplib.HTTPConnection(host)
        conn.request(method, api, param, headers)
        res = conn.getresponse()
        data = res.read()
        conn.close()
        return data
    except:
        gen_log.info(traceback.format_exc())
        return False
Ejemplo n.º 6
0
def cla_build_status(cla_id):
    """
        http://phpapi.cakephp.com/huanxun/v1/cla_build_status.json
        修改班级构建状态
    """
    url = url_prefix + "/huanxun/v1/cla_build_status.json?claId=%s"
    summary = cla_id
    md5 = mk_md5(summary)
    logger.info("Invoke %s ", url)
    x = get_with_header({"sys": _sys, "plat": _plat, "md5": md5}, url % cla_id)
    return log_it(x)
Ejemplo n.º 7
0
def reg_plan_status(uid, cla_id):
    """
    更新报课的排课状态接口:
        http://phpapi.cakephp.com/huanxun/v1/reg_plan_status.json
    """
    summary = uid + cla_id
    md5 = mk_md5(summary)
    url = url_prefix + "/huanxun/v1/reg_plan_status.json?uid=%s&claId=%s"
    logger.info("Invoke %s ", url)

    x = get_with_header({"sys": _sys, "plat": _plat, "md5": md5}, url % (uid, cla_id))
    return log_it(x)
Ejemplo n.º 8
0
    def check_locked(row):
        """
        检查有没有预考勤
        """
        for r in row:
            #有预考勤
            if r.check_roll == CheckRoll.LOCKED:
                gen_log.info("[%s][%s] was locked", r.class_date, r.time_id)
                return True, "[%s] will start after [%s] our" % (r.class_date, pre_check)
            #未考勤的课程是否即将开始
            if r.check_roll == CheckRoll.NORMAL or r.check_roll == CheckRoll.TRAIL:
                if not BaseDBModel.check_time(r.class_date, r.start_time):
                    gen_log.info("[%s] will start after [%s] our" % (r.class_date, pre_check))
                    return True, "[%s] will start after [%s] our" % (r.class_date, pre_check)

        return False, "None"
Ejemplo n.º 9
0
def attendances(uid, cla_id, cuc_id, status):
    """
    # 修改考勤状态接口:
    uid:
    cuc_id:课时Id
    status:考勤状态
    # http://phpapi.cakephp.com/huanxun/v1/attendances.json
    """
    # status = '0'
    # cuc_id = "16"
    summary = str(uid) + str(cuc_id) + str(status)
    md5 = mk_md5(summary)
    url = url_prefix + "/huanxun/v1/attendances.json?uid=%s&cucId=%s&claId=%s&Status=%s"
    logger.info("Invoke %s ", url)
    x = get_with_header({"sys": _sys, "plat": _plat, "md5": md5}, url % (uid, cuc_id, cla_id, status))
    return log_it(x)
Ejemplo n.º 10
0
 def get(self, *args, **kwargs):
     uname = self.get_argument("uname")
     uid = self.get_argument("uid")
     if isinstance(uname, unicode):
         uname = uname.encode("utf-8")
         sso = single_login(uid, uname)
         gen_log.info(sso)
         email = "Student From LJL id=%s, name=%s\n" \
                 "Payed for:%s \n" \
                 "Class Table Link: http://yueke.speiyou.com/timetable/list/moodle?uid=%s&claId=%s\n" \
                 "SSO URL: %s" \
                 % (uid, uname, "test 000", uid, "classId", sso)
         gen_log.info(email)
         sendmail(msg=email, subject="%s Student Pay For Class" % datetime.now())
         self.write("world")
     else:
         self.write("Hello")
Ejemplo n.º 11
0
def courses(uid, cla_id, datas):
    """
    修改课程信息接口:
        http://phpapi.cakephp.com/huanxun/v1/courses.json
    datas: [dict, dict] 原课程和目标课程的对应关系
    """
    result = dict()
    result["uid"] = uid
    result["claId"] = cla_id
    data_str = ujson.dumps(datas)
    result["datas"] = data_str
    url = url_prefix + "/huanxun/v1/courses.json"

    summary = uid + cla_id
    md5 = mk_md5(summary)
    logger.info("Invoke %s ", url)
    if debug:
        return Row({"rlt": True, "data": "Skip invoke "})
    x = post_u8(url, result, {"sys": _sys, "plat": _plat, "md5": md5})
    return log_it(x)
Ejemplo n.º 12
0
def update_moodle_course_name(src, target):
    if config.url_prefix == "http://ft.speiyou.com":
        gen_log.info("Skip Update coures name in moodle ")
        return True
    src_c = get_course(src)
    target_c = get_course(target)
    try:
        db._db.autocommit(False)
        rs1 = db.execute_rowcount("update mdl_course set fullname=%s, idnumber=%s "
                                  "where id=%s ", target, target, src_c.id)
        if rs1:
            rs2 = db.execute_rowcount("update mdl_course set fullname=%s, shortname=%s, idnumber=%s "
                                      "where id=%s ", src, src, src, target_c.id)
            if rs2:
                db._db.commit()
                return True
        db._db.rollback()
    except:
        db._db.rollback()
    finally:
        db._db.autocommit(True)
Ejemplo n.º 13
0
def _sendmail(msg='', subject='', to='*****@*****.**'):
    """send a email with msg and subject
    :param msg:
    :param subject:
    """
    try:
        frm_user = '******'
        frm_passwd = '106yh!@#$'

        # smtpserver = smtplib.SMTP("smtp.gmail.com",587)
        smtpserver = smtplib.SMTP("smtp.163.com", 25)

        smtpserver.ehlo()
        smtpserver.starttls()
        smtpserver.ehlo()
        smtpserver.login(frm_user, frm_passwd)
        for m in mails:
            to = m
            header = 'To:%s\nFrom:%s\nSubject:%s\n' % (to, frm_user, subject)
            message = header + '\n %s\n\n' % msg.encode("utf-8")
            smtpserver.sendmail(frm_user, to, message)
        smtpserver.close()
    except:
        gen_log.info(traceback.format_exc())
Ejemplo n.º 14
0
    def list_class(self, cla_id, teacher='', t_interval='', p_no=1, size=p_size, wr_status="normal"):
        """
            分页查询课表
        """
        q_sql = """
            select cwr.workroom, cwr.cla_id, wr.id, wr.start_time, wr.description,
                   t.id as teacher, t.fullname, t.shortname,
                   group_concat(wrd.time_id, '=',wrd.class_date,"=", wrd.class_type) as id_dates
                from mid_course_workroom cwr
                join mid_workroom wr on cwr.workroom=wr.id
                join mid_teacher t on t.id=wr.teacher
                join mid_workroom_dates wrd on wr.id= wrd.workroom
        """

        group = " group by wrd.workroom order by wr.start_time"
        limit = ""
        where = " where cwr.cla_id=%s and wr.status=%s "
        params = [cla_id, wr_status]
        if teacher:
            where += " and (t.fullname=%s or t.shortname=%s) "
            params.append(teacher)
            params.append(teacher)
        if t_interval and t_interval != u'0':
            t1, t2 = t_interval.split('-')
            where += " and wr.start_time between %s and %s "
            params.append(t1)
            params.append(t2)
        if size > 0:
            limit = " limit %s, %s " % ((p_no - 1) * size, size)

        results = self.db.query(q_sql + where + group + limit, *params)
        for r in results:
            r["id_dates"] = split_sort(r.id_dates)
        if config.debug:
            gen_log.info("query sql[%s], param[%s]", q_sql + where, params)
        return results
Ejemplo n.º 15
0
    def select_class(self, uid='', cla_id='', workroom=''):
        """
            选课
            1.check if selected
            2.update workroom flag as used
        """
        flag, dt = self.models.mss.check_select(uid, cla_id)
        if flag:
            #判断workroom是否可选
            if self.models.mwr.used_exists(workroom):
                gen_log.info("select a used workroom [%s]", workroom)
                return msg(False, "Class is used By others")
            # Reselect
            if dt:
                if workroom == dt.workroom:
                    return msg()
                rs = self.models.mss.update_by(_id=dt.id, cla_id=cla_id, uid=uid,
                                               fields=["workroom"], values=[workroom])
                rs1 = self.models.mwr.free_lock(dt.workroom, "normal")
                rs2 = self.models.mwr.free_lock(workroom, "used")
                if rs and rs1 and rs2:
                    gen_log.info("Reselect class uid[%s], OldWR[%s], NewWR[%s], Success",
                                 uid, dt.workroom, workroom)
                    return msg()
                else:
                    return msg(False, "Failed on Reselect class")
            # Select Class
            else:
                rs = self.models.mss.add([(uid, "", cla_id, workroom, "selected", "N", 1)])
                rs2 = self.models.mwr.free_lock(workroom, "used")
                if rs and rs2:
                    return msg()
                else:
                    message = "Failed on select class"
                    if rs or rs2:
                        if rs:
                            message = "Failed on select class, Failed to lock workroom[%s]" % workroom
                        else:
                            message = "Failed on select class, Failed to insert to select table"
                    gen_log.info(message)
                    return msg(False, message)

        else:
            gen_log.info(msg(False, "Have Classes already"))
            return msg(False, "Have Classes already")
Ejemplo n.º 16
0
    def pay(self, cla_id='', uid='', uname='NotSupply'):
        """
            支付课程
            1. insert into student_classes
            2. update student_class_select deal as payed
            3. return class data
        """
        flag, selected = self.models.mss.get_selected_for_pay(uid, cla_id)
        dt, valid_time = BaseDBModel.get_valid_date()
        if flag:
            if selected:
                rows = self.models.mwrd.get_valid_dates(selected.workroom, status="used",
                                                        date_now=dt)
                p = []
                for r in rows:
                    if BaseDBModel.check_time(r.class_date, r.start_time):
                        if r.class_type == CheckRoll.TRAIL:
                            p.append((uid, cla_id, r.time_id, r.workroom, r.teacher, r.class_date, CheckRoll.TRAIL))
                        else:
                            p.append((uid, cla_id, r.time_id, r.workroom, r.teacher, r.class_date, CheckRoll.NORMAL))
                rs = self.models.msc.add(p)
                rs1 = self.models.mss.update_by(_id=selected.id, uid=uid, cla_id=cla_id,
                                                fields=["uname", "deal", "lastupdate"],
                                                values=[uname, "payed", datetime.now()])
                if rs and rs1:
                    try:
                        if isinstance(uname, unicode):
                            uname = uname.encode("utf-8")
                        sso = single_login(uid, uname)
                        # teacher_number = self.models.mss.get_teacher_number(rows[0].teacher)
                        # #set flat enrol file
                        # line = "add, student, %s, %s\nadd, teacher, %s, %s"\
                        #        % (uid, selected.workroom,
                        #           # uid, rows[0].teacher.upper(),
                        #           teacher_number, selected.workroom
                        #           # teacher_number, rows[0].teacher.upper()
                        #           )
                        # write_to_file(uid, cla_id, line)
                        # enrol_file = set_file_url(uid, cla_id)
                        # #get moodle cron exe url
                        # cron = get_cron_url()
                        # edit_url = get_edit_classtable(selected.workroom)
                        classtable = get_classtable_url(uid=uid, cla_id=cla_id)
                        #update class table
                        # update_class_table(classtable, selected.workroom)
                        # update_course_shortname(selected.workroom, uname)
                        # set_when_payed(uid, cla_id, uname, selected.workroom)
                        email = "Student From LJL id=%s, name=%s\n" \
                                "Payed for:%s \n" \
                                "Class Table Link:\n %s \n" \
                                "Step 1:\n    %s\nStep 2:\n    %s\nStep 3:\n    %s\n"\
                                "Step 4(Open is different Browser):\n %s" \
                                % (uid, uname, rows[0].workroom, classtable, "Handler", "Handler", "Handler", sso)
                        sendmail(msg=email, subject="%s Student Pay For Class" % datetime.now())
                    except:
                        gen_log.info(traceback.format_exc())

                    return {"rlt": True, "msg": "Success", "data": self.set_response(rows, cla_id, uid)}
                else:
                    return {"rlt": False, "msg": "Failed", "data": "支付失败"}
            else:
                return {"rlt": False, "msg": "Success", "data": "没有选课"}
        else:
            #重复调用
            rows = self.models.mwrd.get_by_workroom(selected.workroom)
            return {"rlt": True, "msg": "Repeat Invoke", "data": self.set_response(rows, cla_id, uid)}
Ejemplo n.º 17
0
 def get_tip(message):
     gen_log.info("Refund Failed When %s ,uid[%s], cla_id[%s]", message, uid, cla_id)
     return msg(False, "Refund Failed When %s ,uid[%s], cla_id[%s]" % (message, uid, cla_id))
Ejemplo n.º 18
0
    def change_class(self, cla_id='', uid='', target_wr='', manager=False):
        """
        转班:
        1.判断可否转(客服可以随时来转班)
        2.查询现在所属班级
        3.查询新班级
           3.1查询调课记录(check_roll=7)
        4.设置专版对应关系
        5.更新student_class表
        6.插入专版记录
        7.插入新选班级到student_select
        8.锁定新课
        9.释放愿课
        """
        can_change = True
        selected_row = None
         # 如果不是客服,检查是否可以转班
        if not manager:
            flag, selected_row = self.models.mss.check_will_change(cla_id=cla_id, uid=uid)
            if not flag:
                can_change = False
        if can_change:
            if self.models.mwr.used_exists(target_wr):
                gen_log.info("select a used workroom [%s]", target_wr)
                return msg(False, "Class is used by others or not exists")
            #查询原班数据,新班数据
            src_data = self.models.msc.full_query(uid=uid, cla_id=cla_id)
            target_data = self.models.mwrd.get_by_workroom(target_wr, status='normal')
            if not src_data:
                gen_log.info("Get class_table failed,cla_id[%s], uid=[%s]", cla_id, uid)
                return msg(False, "Get class_table failed,cla_id[%s], uid=[%s]" % (cla_id, uid))
            #检查是否有预考勤的课程, 或者12小时内有上课
            locked, message = self.check_locked(src_data)
            if locked:
                gen_log.info("Can change classes check ,uid[%s], cla_id[%s], message[%s]", uid, cla_id, message)
                return msg(False, "Can change classes check message[%s]" % message)
            if not target_data:
                gen_log.info("Get new WorkRoom failed,cla_id[%s], uid=[%s], workroom[%s]",
                             cla_id, uid, target_wr)
                return msg(False, "Get new WorkRoom failed,cla_id[%s], uid=[%s], workroom[%s]" % (cla_id, uid, target_wr))
            #寻找对应关系
            dlt, ist, ist_records, datas = self.get_change_relation(src_data, target_data, selected_row.id)
            if dlt and ist and ist_records:
                #删除原来课表
                _rs0 = self.models.msc.del_many(time_ids=dlt, cla_id=cla_id, uid=uid)
                if not _rs0:
                    gen_log.info("Change classes failed when delete old datas. "
                                 "uid=[%s],cla_id[%s], times[%s]", uid, cla_id, dlt)
                    return msg(False, "Change Classes Failed")
                #插入新课表
                _rs1 = self.models.msc.add(ist)
                if not _rs1:
                    gen_log.info("Change classes failed when insert new datas. "
                                 "uid=[%s],cla_id[%s]", uid, cla_id)
                    return msg(False, "Change Classes Failed")
                #记录调课内容
                _rs2 = self.models.mscc.add(ist_records)
                if not _rs2:
                    gen_log.info("Change classes failed when insert records datas. "
                                 "selected_id=[%s]", selected_row.id)
                    return msg(False, "Change Classes Failed")
                #释放原来的课程
                _rs3 = self.models.mwr.free_lock(selected_row.workroom, "normal")
                if not _rs3:
                    gen_log.info("Change classes failed when relase old workroom. "
                                 "workroom=[%s]", selected_row.workroom)
                    return msg(False, "Change Classes Failed")
                #锁定新课程
                _rs4 = self.models.mwr.free_lock(target_wr, "used")
                if not _rs4:
                    gen_log.info("Change classes failed when lock new workroom. "
                                 "workroom=[%s]", target_wr)
                    return msg(False, "Change Classes Failed")
                _rs5 = self.models.mss.add([(uid, selected_row.uname, cla_id, target_wr,
                                             "payed", "N", selected_row.version + 1)])
                _rs51 = self.models.mss.update_by(_id=selected_row.id, cla_id=cla_id, uid=uid,
                                                  fields=["deal", "lastupdate"], values=["changed", datetime.now()])
                if not _rs5 or not _rs51:
                    gen_log.info("Change classes failed when update select records. "
                                 "select_id=[%s]", selected_row.id)
                    return msg(False, "Change Classes Failed")
                r6 = update_moodle_course_name(selected_row.workroom, target_wr)
                if not r6:
                    gen_log.info("Course Names Update Failed src[%s], target[%s]", selected_row.workroom, target_wr)
                    return msg(False, "Change Classes Failed, Course Names Update Failed")
                email = "Set Email Error, Concat to Windy"
                try:
                    src_teacher = self.models.mss.get_teacher_number(src_data[0].teacher)
                    target_teacher = self.models.mss.get_teacher_number(target_data[0].teacher)
                    line = "del, teacher, %s, %s\n" \
                           "add, teacher, %s, %s" \
                           % (src_teacher, target_wr,
                              target_teacher, target_wr)
                    write_to_file(uid, cla_id + "_change" + src_data[0].teacher + target_data[0].teacher, line)
                    enrol_file = set_file_url(uid, cla_id + "_change" + src_data[0].teacher + target_data[0].teacher)
                    cron = get_cron_url()
                    if src_data[0].teacher == target_data[0].teacher:
                        email = "Student Change Teacher From LJL id=%s\n" \
                                "Step 1:\n    %s\nStep 2:\n    %s\n" \
                                % (uid, enrol_file, cron)
                    else:
                        course_url_1 = get_course_url(target_wr)
                        course_url_2 = get_course_url(selected_row.workroom)
                        # src_lab, target_lab = get_labels(selected_row.workroom, target_wr)
                        # src_lab_edit = get_edit_label(src_lab.edit)
                        # target_lab_edit = get_edit_label(target_lab.edit)
                        # src_vc = src_lab.intro
                        # target_vc = target_lab.intro

                        email = "Student Change Teacher From LJL id=%s\n" \
                                "Step 1:\n    %s\nStep 2:\n    %s\n" \
                                "Step 3:\n Change Teacher ID as: %s\n    %s\n" \
                                "Step 4:\n Change Teacher ID as: %s\n    %s\n" \
                                % (uid, enrol_file, cron, target_data[0].teacher,
                                   course_url_1, src_data[0].teacher, course_url_2)

                except:
                    gen_log.info("Failed set Email info")
                    gen_log.info(traceback.format_exc())
                return Row({"rlt": True, "msg": datas, "email": email})

            else:
                gen_log.info("uid=[%s],cla_id[%s] No classes can be change.", uid, cla_id)
                return msg(False, "No classes can be change.")
        else:
            gen_log.info("uid=[%s],cla_id[%s] Can not change workroom Again.", uid, cla_id)
            return msg(False, "Can not change workroom Again.")
Ejemplo n.º 19
0
    def change_date(self, cla_id='', uid='',
                    src_time_id=0, target_time_id=0, manager=False):
        """
        1.判断是否可以调课
        2.查询新旧课程
        3.插入到调课记录表
        4.更新原课状态(check_roll=Changed)
        5.更新新课状态(status=used)
        """
        can_change = True
        # 如果不是客服,检查是否已经调过课了
        if not manager:
            rows = self.models.msdc.check_has_changed(cla_id=cla_id, uid=uid)
            if rows:
                can_change = False

        #可以调课
        if can_change:
            #查询调课需要的信息MidStudentClasses
            src_data = self.models.msc.query_one(time_id=src_time_id, cla_id=cla_id, uid=uid)
            current_selected = self.models.mss.get_current_select(cla_id=cla_id, uid=uid, workroom=src_data.workroom)
            target_data = self.models.mwrs.get_by_time_id(time_id=target_time_id)
            if src_data and target_data and current_selected:
                if self.models.mwrs.used_exists(target_data.id):
                    gen_log.info("select a used workroom [%s]", target_data.id)
                    return msg(False, "Class is used By others")
                if src_data.class_type == CheckRoll.TRAIL:
                    gen_log.info("Trail Class Can not change [%s]", target_data.id)
                    return msg(False, "Trail Class Can not change")

                #删除旧课表
                rs = self.models.msc.del_one(time_id=src_data.time_id, cla_id=cla_id, uid=uid)
                if not rs:
                    gen_log.info("Failed to delete old class:uid=[%s], cla_id=[%s], time_id=[%s]",
                                 uid, cla_id, src_data.time_id)
                    return msg(False, "Failed on delete data")
                #插入新课表
                # ["uid", "cla_id", "time_id", "workroom", "teacher", "class_date", "check_roll"]
                rs1 = self.models.msc.add([(uid, cla_id, target_data.time_id, target_data.id,
                                            target_data.teacher, target_data.class_date, CheckRoll.CHANGE)])
                if not rs1:
                    gen_log.info("Failed to Insert to student_classes:uid=[%s], cla_id=[%s], time_id=[%s]"
                                 ", new_time_id[%s], new_workroom[%s]",
                                 uid, cla_id, src_data.time_id, target_data.time_id, target_data.id)
                    return msg(False, "Failed on insert data to student_classes")

                # 插入调课记录
                  # ["select_id", "uid", "cla_id", "src_workroom", "target_workroom",
                  # "src_date", "target_date", "src_time_id", "target_time_id",
                  # "handle", "operate_by"]
                operate_by = "student"
                if manager:
                    operate_by = "manager"
                rs2 = self.models.msdc.add([(current_selected.id, uid, cla_id, src_data.workroom,
                                            target_data.id, src_data.class_date, target_data.class_date,
                                            src_data.time_id, target_data.time_id, "N", operate_by)])
                if not rs2:
                    gen_log.info("Failed to Insert to student_date_changed:uid=[%s], cla_id=[%s], time_id=[%s]"
                                 ", new_time_id[%s], new_workroom[%s], old_time_id[%s], old_workroom[%s]",
                                 uid, cla_id, src_data.time_id, target_data.time_id, target_data.id, src_data.time_id,
                                 src_data.workroom)
                    return msg(False, "Failed on insert data to student_date_changed")
                #更新被调课的状态为used
                rs3 = self.models.mwrs.free_lock(target_data.id, "used")
                if not rs3:
                    gen_log.info("Failed to Lock workroom_single:uid=[%s], cla_id=[%s], new_workroom[%s]",
                                 uid, cla_id, target_data.id)
                    return msg(False, "Failed to Lock workroom workroom_single")
                #返回更改数据对应关系
                rep = self.set_change_date(src_data, target_data)
                email = "Student %s\n" \
                        "src workroom: %s, date:%s time:%s\n" \
                        "target workroom: %s, date:%s time:%s\n"\
                        % (uid, src_data.workroom, src_data.class_date, src_data.start_time,
                           target_data.id, target_data.class_date, target_data.start_time)
                return Row({"rlt": True, "msg": rep, "email": unicode(email)})
            else:
                gen_log.info("Query Change Date Failed src_data, target_data, current_selected")
                gen_log.debug(src_data)
                gen_log.debug(target_data)
                gen_log.debug(current_selected)
                return msg(False, "No Class Can be Changed")
        else:
            gen_log.info("uid=[%s], Can not change class Again.", uid)
            return msg(False, "Can not change class Again.")
Ejemplo n.º 20
0
def log_it(rs):
    rlt = Row(ujson.loads(rs))
    logger.info("Result: rlt:[%s], data:[%s]", rlt.rlt, rlt.data)
    return rlt
Ejemplo n.º 21
0
def single_login(uid, uname):
    sso_url = url_sso + '?uname=%s&user=%s' % (uname, uid)
    try:
        rs = None
        try:
            rs = urlopen(sso_url)
            logger.info("Single Result--->")
            logger.info(rs)
        except:
            logger.info("1-Single Login Failed, %s", traceback.format_exc())
        if not rs:
            try:
                print url_sso + '?uname=%s&user=%s' % (urllib.quote(uname), uid)
                rs = urlopen(url_sso + '?uname=%s&user=%s' % (urllib.quote(uname), uid))
                logger.info(rs)
            except:
                logger.info("2-Single Login Failed, %s", traceback.format_exc())
    except:
        logger.info("Single Login Failed, %s", traceback.format_exc())
    finally:
        return sso_url
# single_login(uid='987654321000', uname=u'李华人')