예제 #1
0
파일: get.py 프로젝트: yankaics/wechat
def rendered(user):
    response = get_api_return('library', user)
    msg = u''
    if response['code'] == 200:
        try:
            books = response['content']
            for book in books:
                detail = u'\n%s\n%s\n借书时间:%s\n到期时间:%s' % (
                    book['author'], book['place'], book['render_date'],
                    book['due_date'])
                if book['renew_time'] == u'0':
                    msg += u'<a href="%s/renew/%s/%s">《%s》</a>%s' % (
                        LOCAL, user.openid, book['barcode'], book['title'],
                        detail)
                else:
                    msg += u'《%s》%s\n续借次数:%s' % (book['title'], detail,
                                                 book['renew_time'])
                msg += u'\n\n'
            if not msg:
                msg = u'没有在图书馆借书哦'
            else:
                msg += u'如果要续借的话请戳书名'
            return msg.strip()
        except:
            return u'=。= 出了点故障,不如待会再试试吧'
    else:
        return response['content']
예제 #2
0
파일: update.py 프로젝트: YongdongHe/wechat
def srtp(db, user):
    response = get_api_return("srtp", user)
    if response["code"] == 200:
        srtp = response["content"]
        try:
            overview = db.query(SRTPO).filter(SRTPO.openid == user.openid).one()
            overview.total = srtp[0]["total"]
            overview.score = srtp[0]["score"]
        except NoResultFound:
            db.add(SRTPO(openid=user.openid, total=srtp[0]["total"], score=srtp[0]["score"]))
        items = db.query(SRTPD).filter(SRTPD.openid == user.openid).all()
        for item in items:
            db.delete(item)
        for item in srtp[1:]:
            db.add(
                SRTPD(
                    openid=user.openid,
                    project=item["project"],
                    department=item["department"],
                    date=item["date"],
                    project_type=item["type"],
                    total_credit=item["total credit"],
                    credit=item["credit"],
                    proportion=item["proportion"],
                )
            )
        try:
            db.commit()
            return u'<a href="%s/srtp/%s">更新好啦,点我查看</a>' % (LOCAL, user.openid)
        except:
            db.rollback()
            return u"T T 出了点小问题"
    else:
        return response["content"]
예제 #3
0
def gpa(db, user):
    response = get_api_return('gpa', user)
    if response['code'] == 200:
        gpa = response['content']
        try:
            overview = db.query(GPAO).filter(GPAO.openid == user.openid).one()
            overview.gpa = gpa[0]['gpa']
            overview.before_revamp = gpa[0]['gpa without revamp']
            overview.calc_time = gpa[0]['calculate time']
        except NoResultFound:
            db.add(GPAO(openid=user.openid,
                        gpa=gpa[0]['gpa'],
                        before_revamp=gpa[0]['gpa without revamp'],
                        calc_time=gpa[0]['calculate time']))
        items = db.query(GPAD).filter(GPAD.openid == user.openid).all()
        for item in items:
            db.delete(item)
        for item in gpa[1:]:
            db.add(GPAD(openid=user.openid,
                        course=item['name'],
                        credit=item['credit'],
                        semester=item['semester'],
                        score=item['score'],
                        score_type=item['type'],
                        extra=item['extra']))
        try:
            db.commit()
            return u'<a href="%s/gpa/%s">更新好啦,点我查看</a>' % (
                LOCAL, user.openid)
        except:
            db.rollback()
            return u'T T 出了点小问题'
    else:
        return response['content']
예제 #4
0
파일: get.py 프로젝트: yankaics/wechat
def card(user):
    response = get_api_return('card', user)
    if response['code'] == 200:
        ret = response['content']
        return u'一卡通余额:%s' % ret['left']
    else:
        return response['content']
예제 #5
0
def schoolbus(user):
    response = get_api_return('schoolbus', user)
    daymap = {
        'Mon': u'周一',
        'Tue': u'周二',
        'Wed': u'周三',
        'Thu': u'周四',
        'Fri': u'周五',
        'Sat': u'周六',
        'Sun': u'周日'
    }
    if response['code'] == 200:
        if today() in ['Sat', 'Sun']:
            ret = response['content']['weekend']
        else:
            ret = response['content']['weekday']
        msg = u'Tips:\n今天%s\n到地铁站时,乘车途中只上不下。到九龙湖时,乘车途中只下不上\n' % daymap[today()]
        msg += u'出九龙湖路线:\n校内停车场-->材料学院、图书馆-->文学院-->西门\n-->橘园-->行政楼-->电工电子\n-->梅园-->教八-->北门-->地铁停靠站'
        msg += u'\n前往地铁站:\n'
        for m in ret[u'前往地铁站']:
            msg += u'[%s] - %s\n' % (m['time'], m['bus'])
        msg += u'\n返回九龙湖:\n'
        for m in ret[u'返回九龙湖']:
            msg += u'[%s] - %s\n' % (m['time'], m['bus'])
        return msg[:-1]
    else:
        return response['content']
예제 #6
0
def zhu_query(user):
    ret = get_api_return('zhu_query', user)
    msg = u''
    if ret['code'] == 200:
        content_get = ret['content_get']
        content_apply = ret['content_apply']
        msg += u'正在申请助学金:\n'
        for item in content_apply:
            msg += u'>  %s\n' % item['name']
            msg += u'申请日期:%s\n' % item['apply_time']
            msg += u'状态:%s\n' % item['state']
        if not content_get:
            msg += u'没有申请助学金T_T\n'
        msg += u'\n'
        msg += u'已获得助学金:\n'
        for item in content_get:
            msg += u'>  %s\n' % item['name']
            msg += u'学期:%s\n' % item['apply_time']
            msg += u'金额:%s\n' % item['money']
        if not content_get:
            msg += u'没有获得助学金T_T\n'
        return msg
    elif ret['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return ret['content']
예제 #7
0
파일: update.py 프로젝트: yankaics/wechat
def srtp(db, user):
    response = get_api_return('srtp', user)
    if response['code'] == 200:
        srtp = response['content']
        try:
            overview = db.query(SRTPO).filter(SRTPO.openid == user.openid).one()
            overview.total = srtp[0]['total']
            overview.score = srtp[0]['score']
        except NoResultFound:
            db.add(SRTPO(openid=user.openid,
                         total=srtp[0]['total'],
                         score=srtp[0]['score']))
        items = db.query(SRTPD).filter(SRTPD.openid == user.openid).all()
        for item in items:
            db.delete(item)
        for item in srtp[1:]:
            db.add(SRTPD(openid=user.openid,
                         project=item['project'],
                         department=item['department'],
                         date=item['date'],
                         project_type=item['type'],
                         total_credit=item['total credit'],
                         credit=item['credit'],
                         proportion=item['proportion']))
        try:
            db.commit()
            return u'<a href="%s/srtp/%s">更新好啦,点我查看</a>' % (
                LOCAL, user.openid)
        except:
            db.rollback()
            return u'T T 出了点小问题'
    else:
        return response['content']
예제 #8
0
파일: update.py 프로젝트: yankaics/wechat
def gpa(db, user):
    response = get_api_return('gpa', user)
    if response['code'] == 200:
        gpa = response['content']
        try:
            overview = db.query(GPAO).filter(GPAO.openid == user.openid).one()
            overview.gpa = gpa[0]['gpa']
            overview.before_revamp = gpa[0]['gpa without revamp']
            overview.calc_time = gpa[0]['calculate time']
        except NoResultFound:
            db.add(GPAO(openid=user.openid,
                        gpa=gpa[0]['gpa'],
                        before_revamp=gpa[0]['gpa without revamp'],
                        calc_time=gpa[0]['calculate time']))
        items = db.query(GPAD).filter(GPAD.openid == user.openid).all()
        for item in items:
            db.delete(item)
        for item in gpa[1:]:
            db.add(GPAD(openid=user.openid,
                        course=item['name'],
                        credit=item['credit'],
                        semester=item['semester'],
                        score=item['score'],
                        score_type=item['type'],
                        extra=item['extra']))
        try:
            db.commit()
            return u'<a href="%s/gpa/%s">更新好啦,点我查看</a>' % (
                LOCAL, user.openid)
        except:
            db.rollback()
            return u'T T 出了点小问题'
    else:
        return response['content']
예제 #9
0
파일: get.py 프로젝트: YongdongHe/wechat
def card(user):
    response = get_api_return("card", user)
    if response["code"] == 200:
        ret = response["content"]
        return u"一卡通余额:%s" % ret["left"]
    else:
        return response["content"]
예제 #10
0
def srtp(db, user):
    response = get_api_return('srtp', user)
    if response['code'] == 200:
        srtp = response['content']
        try:
            overview = db.query(SRTPO).filter(SRTPO.openid == user.openid).one()
            overview.total = srtp[0]['total']
            overview.score = srtp[0]['score']
        except NoResultFound:
            db.add(SRTPO(openid=user.openid,
                         total=srtp[0]['total'],
                         score=srtp[0]['score']))
        items = db.query(SRTPD).filter(SRTPD.openid == user.openid).all()
        for item in items:
            db.delete(item)
        for item in srtp[1:]:
            db.add(SRTPD(openid=user.openid,
                         project=item['project'],
                         department=item['department'],
                         date=item['date'],
                         project_type=item['type'],
                         total_credit=item['total credit'],
                         credit=item['credit'],
                         proportion=item['proportion']))
        try:
            db.commit()
            return u'<a href="%s/srtp/%s">更新好啦,点我查看</a>' % (
                LOCAL, user.openid)
        except:
            db.rollback()
            return u'T T 出了点小问题'
    else:
        return response['content']
예제 #11
0
파일: get.py 프로젝트: YongdongHe/wechat
def rendered(user):
    response = get_api_return("library", user)
    msg = u""
    if response["code"] == 200:
        try:
            books = response["content"]
            for book in books:
                detail = u"\n%s\n%s\n借书时间:%s\n到期时间:%s" % (
                    book["author"],
                    book["place"],
                    book["render_date"],
                    book["due_date"],
                )
                if book["renew_time"] == u"0":
                    msg += u'<a href="%s/renew/%s/%s">《%s》</a>%s' % (
                        LOCAL,
                        user.openid,
                        book["barcode"],
                        book["title"],
                        detail,
                    )
                else:
                    msg += u"《%s》%s\n续借次数:%s" % (book["title"], detail, book["renew_time"])
                msg += u"\n\n"
            if not msg:
                msg = u"没有在图书馆借书哦"
            else:
                msg += u"如果要续借的话请戳书名"
            return msg.strip()
        except:
            return u"=。= 出了点故障,不如待会再试试吧"
    else:
        return response["content"]
예제 #12
0
def pe_counts(user):
    msg = u''
    response = get_api_return('pe', user)
    if response['code'] == 200:
        msg += u'当前跑操次数 %s 次' % response['content']
        msg += u'\n您的跑操次数击败了%s%%的人' % response['rank']
        msg += u'\n<a href="%s/pedetail/%s">跑操明细</a>' % (LOCAL, user.openid)
    else:
        msg += response['content']
    if ismorning():
        response = get_api_return('pc', user)
        if response['code'] == 201:
            msg += u'\n\n0.0, 早起有益健康,小猴正在获取跑操情报,等会再试试'
        else:
            msg += u'\n\n小猴猜测:' + response['content']
    msg += u'\n输入[预约]预约场馆'
    msg += u'\n输入[体测]查看体测成绩'
    return msg
예제 #13
0
 def get (self,openid) :
     user = self.db.query(User).filter(User.openid == openid).one()
     
     response=get_api_return('pedetail',user)
     
     if response['code'] == 200:
         detail=response['content']
         self.render('pe.html', detail=detail)
     else:
         self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
         self.finish()
예제 #14
0
def nic(user):
    response = get_api_return('nic', user)
    if response['code'] == 200:
        ret = response['content']
        return u'卡钱包余额:%s\n流量使用情况:\n  web[%s]:%s' % (\
                ret['left'],
                ret['web']['state'], ret['web']['used'])
    elif response['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return response['content']
예제 #15
0
파일: get.py 프로젝트: yankaics/wechat
def lecture(user):
    response = get_api_return('lecture', user)
    if response['code'] == 200:
        ret = response['content']
        msg = u""
        for d in ret['detial']:
            msg += u"%s\n%s\n\n" % (d['date'], d['place'])
        msg += u'当前人文讲座次数 %s 次' % ret['count']
        return msg
    else:
        return response['content']
예제 #16
0
    def get(self, openid):
        user = self.db.query(User).filter(User.openid == openid).one()

        response = get_api_return('pedetail', user)

        if response['code'] == 200:
            detail = response['content']
            self.render('pe.html', detail=detail)
        else:
            self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
            self.finish()
예제 #17
0
파일: get.py 프로젝트: yankaics/wechat
def nic(user):
    response = get_api_return('nic', user)
    if response['code'] == 200:
        ret = response['content']
        return u'卡钱包余额:%s\n流量使用情况:\n brasa[%s]:%s\n brasb[%s]:%s\n web[%s]:%s' % (\
                ret['left'],
                ret['a']['state'], ret['a']['used'],
                ret['b']['state'], ret['b']['used'],
                ret['web']['state'], ret['web']['used'])
    else:
        return response['content']
예제 #18
0
파일: get.py 프로젝트: YongdongHe/wechat
def lecture(user):
    response = get_api_return("lecture", user)
    if response["code"] == 200:
        ret = response["content"]
        msg = u""
        for d in ret["detial"]:
            msg += u"%s\n%s\n\n" % (d["date"], d["place"])
        msg += u"当前人文讲座次数 %s 次" % ret["count"]
        return msg
    else:
        return response["content"]
예제 #19
0
def schoolnumber(user):
    response = get_api_return('user', user)
    if response['code'] == 200:
        content = response['content']['schoolnum']
        if content != '00000000':
            msg = content
        else:
            msg = u'暂时没有查到学号哦~'
        return msg
    elif response['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return response['content']
예제 #20
0
파일: get.py 프로젝트: YongdongHe/wechat
def nic(user):
    response = get_api_return("nic", user)
    if response["code"] == 200:
        ret = response["content"]
        return u"卡钱包余额:%s\n流量使用情况:\n brasa[%s]:%s\n brasb[%s]:%s\n web[%s]:%s" % (
            ret["left"],
            ret["a"]["state"],
            ret["a"]["used"],
            ret["b"]["state"],
            ret["b"]["used"],
            ret["web"]["state"],
            ret["web"]["used"],
        )
    else:
        return response["content"]
예제 #21
0
def card(user):
    response = get_api_return('card', user)
    if response['code'] == 200:
        ret = response['content']
        msg = u'一卡通余额:%s' % ret['left']
        msg += u'\n\n<a href="%s/card/%s">一卡通交易明细</a>' % (LOCAL, user.openid)
        msg += u"\n\n<a href='http://58.192.115.47:8088/wechat-web/login/dologin.html'>点我进行充值</a>"
        msg += u"\n微信充值后需到食堂pos机上刷卡写卡,若失败,则请尝试在圈存机上转账少数钱写卡(此功能不由小猴开发,近期由于网络原因可能不太稳定~)"
        msg += u"\n<a href='http://url.cn/41x4fjh'>更多问题请戳我</a>"
        return msg
    elif response['code'] == 599:
        msg = u"\n\n<a href='http://58.192.115.47:8088/wechat-web/login/dologin.html'>点我进行充值</a>"
        return u"正在获取最新数据,再点一次就有啦!%s" % msg
    else:
        return response['content']
예제 #22
0
def jwc(user):
    response = get_api_return('jwc', user)
    if response['code'] == 200:
        msg = u'最新动态:\n'
        ret = response['content']
        for m in ret[u'最新动态']:
            msg += u'● <a href="%s">%s - %s</a>\n' % (
                m['href'], m['title'], m['date'][2:].replace('-', ''))
        #msg += u'\n\n实践教学:\n'
        #for m in ret[u'实践教学']:
        #    msg += u'● <a href="%s">%s - %s</a>\n' % (m['href'], m['title'], m['date'][2:].replace('-',''))
        return msg[:-1]
    elif response['code'] == 201:
        return u'小猴正在获取教务信息,等会再试试'
    else:
        return response['content']
예제 #23
0
def searchlib(user, text):
    data = {'book': text.strip().encode('utf-8')}
    if len(data['book']) < 2:
        return u'至少要输入两个关键字'
    response = get_api_return('search', user, data)
    if response['code'] == 200:
        ret = response['content']
        msg = u'搜索结果:\n'
        for m in ret:
            msg += u'●(%s)%s[%s/%s] - %s\n' % (
                m['index'], m['name'], m['left'], m['all'], m['author'])
        msg += u'\n大致藏书范围\nA~E: 中图1(二楼)\nF~G: 中图2(二楼)\nH: 中图3(二楼)\nI~J: 友丰(五楼)\
                 \nK~TF: 中图3(一楼)\nTG~TP311: 中图4(二楼)\nTP311~Z: 中图4(一楼)\n外文图书: 外图(四楼)'

        return msg
    else:
        return response['content']
예제 #24
0
    def get(self, openid, barcode):
        try:
            user = self.db.query(User).filter(User.openid == openid).one()
            
            data = { 'barcode': barcode }
            response = get_api_return('renew', user, data)

            if response['code'] == 200:
                if response['content'] == 'success':
                    self.write(TEMPLATE.format(content='续借成功'))
                else:
                    self.write(TEMPLATE.format(content='现在不是可以续借的时间哦'))
            else:
                self.write(response['content'])
        except NoResultFound:
            self.write('access verification fail')
        finally:
            self.finish()
예제 #25
0
def jiang_list(user):
    ret = get_api_return('jiang_list', user)
    msg = u''
    if ret['code'] == 200:
        content = ret['content']
        msg += u'可申请奖学金:\n'
        for item in content:
            # msg += u'> %s <a href="%s/jiang_apply/%s">申请</a>\n' % (item['name'],LOCAL,item['id'])
            msg += u'>  %s\n' % item['name']
            msg += u'  开始时间:%s\n' % item['start_time']
            msg += u'  结束时间:%s\n' % item['end_time']
        if not content:
            return u'暂时没有奖学金可申请'
        return msg
    elif ret['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return ret['content']
예제 #26
0
def lecture(user):
    response = get_api_return('lecture', user)
    if response['code'] == 200:
        ret = response['content']
        msg = u""
        for d in ret['detial']:
            msg += u"%s\n%s\n\n" % (d['date'], d['place'])
        msg += u'当前人文讲座次数 %s 次' % ret['count']
        msg += u'\n<a href="http://www.heraldstudio.com/wechat2/lecturequery">点我查询讲座信息~</a>'
        return msg
    elif response['code'] == 599:
        msg = u"正在获取最新数据,再点一次就有啦!"
        msg += u'\n<a href="http://www.heraldstudio.com/wechat2/lecturequery">点我查询讲座信息~</a>'
        return msg
    else:
        msg = response['content']
        msg += u'\n<a href="http://www.heraldstudio.com/wechat2/lecturequery">点我查询讲座信息~</a>'
        return msg
예제 #27
0
def exam(user):
    response = get_api_return('exam', user)
    if response['code'] == 200:
        msg = ''
        content = response['content']
        for item in content:
            msg += u'> %s\n' % item['course']
            msg += u'%s    %s分钟\n' % (item['teacher'], item['hour'])
            msg += u'%s\n' % item['location']
            msg += u'%s\n' % item['time']
            msg += u'\n'
        if not msg:
            msg = u'没有查询到考试安排哦'
        return msg
    elif response['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return response['content']
예제 #28
0
파일: update.py 프로젝트: YongdongHe/wechat
def curriculum(db, user):
    response = get_api_return("curriculum", user)
    if response["code"] == 200:
        courses = db.query(Course).filter(Course.openid == user.openid).all()
        curriculum = response["content"]
        for course in courses:
            db.delete(course)
        for day, items in curriculum.items():
            for item in items:
                db.add(Course(openid=user.openid, course=item[0], period=item[1], place=item[2], day=day))
        try:
            db.commit()
            return u'<a href="%s/curriculum/%s">更新好啦,点我查看</a>' % (LOCAL, user.openid)
        except:
            db.rollback()
            return u"T T 出了点小问题"
    else:
        return response["content"]
예제 #29
0
    def get(self, openid, barcode):
        try:
            user = self.db.query(User).filter(User.openid == openid).one()

            data = {'barcode': barcode}
            response = get_api_return('renew', user, data)

            if response['code'] == 200:
                if response['content'] == 'success':
                    self.write(TEMPLATE.format(content='续借成功'))
                else:
                    self.write(TEMPLATE.format(content='现在不是可以续借的时间哦'))
            else:
                self.write(response['content'])
        except NoResultFound:
            self.write('access verification fail')
        finally:
            self.finish()
예제 #30
0
파일: get.py 프로젝트: yankaics/wechat
def phylab(db, user):
    response = get_api_return('phylab', user)
    msg = u''
    if response['code'] == 200:
        content = response['content']
        for labType in content:
            if labType != '':
                msg += u'%s:\n' % labType
                for lab in labType:
                    msg += u'名称:%s\n' % lab['name']
                    msg += u'老师:%s\n' % lab['Teacher']
                    msg += u'时间:%s %s\n' % (lab['Date'], lab['Day'])
                    msg += u'地点:%s\n' % lab['Address']
                msg += u'\n\n'
        if not msg:
            msg = u'没有物理实验哦'
        return msg
    else:
        return response['content']
예제 #31
0
파일: get.py 프로젝트: YongdongHe/wechat
def phylab(db, user):
    response = get_api_return("phylab", user)
    msg = u""
    if response["code"] == 200:
        content = response["content"]
        for labType in content:
            if labType != "":
                msg += u"%s:\n" % labType
                for lab in labType:
                    msg += u"名称:%s\n" % lab["name"]
                    msg += u"老师:%s\n" % lab["Teacher"]
                    msg += u"时间:%s %s\n" % (lab["Date"], lab["Day"])
                    msg += u"地点:%s\n" % lab["Address"]
                msg += u"\n\n"
        if not msg:
            msg = u"没有物理实验哦"
        return msg
    else:
        return response["content"]
예제 #32
0
def jiang_query(user):
    ret = get_api_return('jiang_query', user)
    msg = u''
    if ret['code'] == 200:
        content = ret['content']
        content_apply = ret['content']
        msg += u'已申请奖学金:\n'
        for item in content:
            msg += u'>  %s\n' % item['name']
            msg += u'学期:%s\n' % item['term']
            msg += u'金额:%s\n' % item['money']
            msg += u'状态:%s\n' % item['state']
        if not content:
            msg += u'没有申请奖学金T_T\n'
        return msg
    elif ret['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return ret['content']
예제 #33
0
def room(user):
    response = get_api_return('room', user)
    msg = u''
    if response['code'] == 200:
        content = response['content']
        if u'园' in content['room']:
            msg += content['room']
            msg += content['bed']
        else:
            msg += u'宿舍信息可能还没公布~'
            return msg
        if not msg:
            return u'暂且没有查到数据 T_T'
        return msg
    elif response['code'] == 599:
        return u"正在获取最新数据,再发一次就有啦"
    elif response['code'] == 408:
        return u"正在获取最新数据,再发一次就有啦!"
    else:
        return response['content']
예제 #34
0
파일: update.py 프로젝트: YongdongHe/wechat
def gpa(db, user):
    response = get_api_return("gpa", user)
    if response["code"] == 200:
        gpa = response["content"]
        try:
            overview = db.query(GPAO).filter(GPAO.openid == user.openid).one()
            overview.gpa = gpa[0]["gpa"]
            overview.before_revamp = gpa[0]["gpa without revamp"]
            overview.calc_time = gpa[0]["calculate time"]
        except NoResultFound:
            db.add(
                GPAO(
                    openid=user.openid,
                    gpa=gpa[0]["gpa"],
                    before_revamp=gpa[0]["gpa without revamp"],
                    calc_time=gpa[0]["calculate time"],
                )
            )
        items = db.query(GPAD).filter(GPAD.openid == user.openid).all()
        for item in items:
            db.delete(item)
        for item in gpa[1:]:
            db.add(
                GPAD(
                    openid=user.openid,
                    course=item["name"],
                    credit=item["credit"],
                    semester=item["semester"],
                    score=item["score"],
                    score_type=item["type"],
                    extra=item["extra"],
                )
            )
        try:
            db.commit()
            return u'<a href="%s/gpa/%s">更新好啦,点我查看</a>' % (LOCAL, user.openid)
        except:
            db.rollback()
            return u"T T 出了点小问题"
    else:
        return response["content"]
예제 #35
0
def zhu_list(user):
    ret = get_api_return('zhu_list', user)
    msg = u''
    if ret['code'] == 200:
        content = ret['content']
        msg += u'可申请助学金:\n'
        for item in content:
            # msg += u'> %s <a href="%s/jiang_apply/%s">申请</a>\n' % (item['name'],LOCAL,item['id'])
            msg += u'>  %s\n' % item['name']
            msg += u'创建时间:%s\n' % item['create_time']
            msg += u'发放周期: %s\n' % item['fafangzhouqi']
            msg += u'评定周期: %s\n' % item['pingdingzhouqi']
            msg += u'是否有校外审:%s\n' % item['is_xiaowaishen']
            msg += u'是否基金会助学金:%s\n' % item['is_jijinhui']
        if not content:
            return u'暂时没有助学金可申请'
        return msg
    elif ret['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return ret['content']
예제 #36
0
파일: update.py 프로젝트: yankaics/wechat
def curriculum(db, user):
    response = get_api_return('curriculum', user)
    if response['code'] == 200:
        courses = db.query(Course).filter(Course.openid == user.openid).all()
        curriculum = response['content']
        for course in courses:
            db.delete(course)
        for day, items in curriculum.items():
            for item in items:
                db.add(Course(openid=user.openid,
                              course=item[0],
                              period=item[1],
                              place=item[2],
                              day=day))
        try:
            db.commit()
            return u'<a href="%s/curriculum/%s">更新好啦,点我查看</a>' % (
                LOCAL, user.openid)
        except:
            db.rollback()
            return u'T T 出了点小问题'
    else:
        return response['content']
예제 #37
0
def tice(user):
    response = get_api_return('tice', user)
    if response['code'] == 200:
        msg = ''
        content = response['content']
        msg += u'总成绩:  %s\n' % content['score']
        msg += u'>身高,体重:  %s %s\n' % (content['height'], content['weight'])
        msg += u'>立定跳远: %s %s\n' % (content['jump']['comment'],
                                    content['jump']['value'])
        msg += u'>坐位体前屈: %s %s\n' % (content['zuoqian']['comment'],
                                     content['zuoqian']['value'])
        msg += u'>50米: %s %s\n' % (content['50meter']['comment'],
                                   content['50meter']['value'])
        msg += u'>1000(800)米: %s %s\n' % (content['1000meter']['comment'],
                                          content['1000meter']['value'])
        msg += u'>肺活量: %s %s\n' % (content['fei']['comment'],
                                   content['fei']['value'])
        msg += u'>仰卧起坐(引体向上): %s %s\n' % (content['up-down']['comment'],
                                          content['up-down']['value'])
        return msg
    elif response['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return response['content']
예제 #38
0
def phylab(user):
    response = get_api_return('phylab', user)
    msg = u''
    if response['code'] == 200:
        content = response['content']
        for labType in content:
            if content[labType] != '':
                msg += u'%s:\n' % labType
                for lab in content[labType]:
                    msg += u'%s\n' % lab['name']
                    msg += u'%s   ' % lab['Teacher']
                    if not lab['Grade']:
                        msg += u'%s\n' % lab['Address']
                        msg += u'%s %s\n' % (lab['Date'], lab['Day'])
                    else:
                        msg += u'成绩:%s\n' % lab['Grade']
                msg += u'\n\n'
        if not msg:
            return u'没有物理实验哦'
        return msg[:-2]
    elif response['code'] == 599:
        return u"正在获取最新数据,再点一次就有啦!"
    else:
        return response['content']
예제 #39
0
 def get(self, type, openid):
     try:
         db = self.db
         user = self.db.query(User).filter(User.openid == openid).one()
         if type == 'srtp':
             response = get_api_return('srtp', user, timeout=17)
             if response['code'] == 200:
                 srtp = response['content']
                 try:
                     overview = db.query(SRTPO).filter(
                         SRTPO.openid == user.openid).one()
                     overview.total = srtp[0]['total']
                     overview.score = srtp[0]['score']
                 except NoResultFound:
                     db.add(
                         SRTPO(openid=user.openid,
                               total=srtp[0]['total'],
                               score=srtp[0]['score']))
                 items = db.query(SRTPD).filter(
                     SRTPD.openid == user.openid).all()
                 for item in items:
                     db.delete(item)
                 for item in srtp[1:]:
                     db.add(
                         SRTPD(openid=user.openid,
                               project=item['project'],
                               department=item['department'],
                               date=item['date'],
                               project_type=item['type'],
                               total_credit=item['total credit'],
                               credit=item['credit'],
                               proportion=item['proportion']))
                 try:
                     db.commit()
                     self.write(TEMPLATE.format(content=u'更新好啦'))
                 except:
                     db.rollback()
                     self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
             else:
                 self.write(TEMPLATE.format(content=response['content']))
         elif type == 'gpa':
             response = get_api_return('gpa', user, timeout=30)
             if response['code'] == 200:
                 gpa = response['content']
                 try:
                     overview = db.query(GPAO).filter(
                         GPAO.openid == user.openid).one()
                     overview.gpa = gpa[0]['gpa']
                     overview.before_revamp = gpa[0]['gpa without revamp']
                     overview.calc_time = gpa[0]['calculate time']
                 except NoResultFound:
                     db.add(
                         GPAO(openid=user.openid,
                              gpa=gpa[0]['gpa'],
                              before_revamp=gpa[0]['gpa without revamp'],
                              calc_time=gpa[0]['calculate time']))
                 items = db.query(GPAD).filter(
                     GPAD.openid == user.openid).all()
                 for item in items:
                     db.delete(item)
                 for item in gpa[1:]:
                     db.add(
                         GPAD(openid=user.openid,
                              course=item['name'],
                              credit=item['credit'],
                              semester=item['semester'],
                              score=item['score'],
                              score_type=item['type'],
                              extra=item['extra']))
                 try:
                     db.commit()
                     self.write(TEMPLATE.format(content=u'更新好啦'))
                 except:
                     db.rollback()
                     self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
             else:
                 self.write(TEMPLATE.format(content=response['content']))
         elif type == 'curriculum':
             response = get_api_return('curriculum', user, timeout=30)
             if response['code'] == 200:
                 courses = db.query(Course).filter(
                     Course.openid == user.openid).all()
                 curriculum = response['content']
                 for course in courses:
                     db.delete(course)
                 for day, items in curriculum.items():
                     for item in items:
                         db.add(
                             Course(openid=user.openid,
                                    course=item[0],
                                    period=item[1],
                                    place=item[2],
                                    day=day))
                 try:
                     db.commit()
                     mycontent = response['content']
                     self.write(
                         TEMPLATE.format(content=mycontent))  #u'更新好啦'))
                 except:
                     db.rollback()
                     self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
             else:
                 self.write(TEMPLATE.format(content=response['content']))
         else:
             self.write(TEMPLATE.format(content=u'T T 出了点小问题???'))
     except:
         self.write(TEMPLATE.format(content=u'T T 出了点小问题...'))
     self.finish()
예제 #40
0
파일: get.py 프로젝트: yankaics/wechat
def pe_counts(user):
    response = get_api_return('pe', user)
    if response['code'] == 200:
        return u'当前跑操次数 %s 次' % response['content']
    else:
        return response['content']
예제 #41
0
 def get(self, type, openid):
     try:
         db = self.db
         user = self.db.query(User).filter(User.openid == openid).one()
         if type == 'srtp':
             response = get_api_return('srtp', user, timeout=17)
             if response['code'] == 200:
                 srtp = response['content']
                 try:
                     overview = db.query(SRTPO).filter(SRTPO.openid == user.openid).one()
                     overview.total = srtp[0]['total']
                     overview.score = srtp[0]['score']
                 except NoResultFound:
                     db.add(SRTPO(openid=user.openid,
                                  total=srtp[0]['total'],
                                  score=srtp[0]['score']))
                 items = db.query(SRTPD).filter(SRTPD.openid == user.openid).all()
                 for item in items:
                     db.delete(item)
                 for item in srtp[1:]:
                     db.add(SRTPD(openid=user.openid,
                                  project=item['project'],
                                  department=item['department'],
                                  date=item['date'],
                                  project_type=item['type'],
                                  total_credit=item['total credit'],
                                  credit=item['credit'],
                                  proportion=item['proportion']))
                 try:
                     db.commit()
                     self.write(TEMPLATE.format(content=u'更新好啦'))
                 except:
                     db.rollback()
                     self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
             else:
                 self.write(TEMPLATE.format(content=response['content']))
         elif type == 'gpa':
             response = get_api_return('gpa', user, timeout=30)
             if response['code'] == 200:
                 gpa = response['content']
                 try:
                     overview = db.query(GPAO).filter(GPAO.openid == user.openid).one()
                     overview.gpa = gpa[0]['gpa']
                     overview.before_revamp = gpa[0]['gpa without revamp']
                     overview.calc_time = gpa[0]['calculate time']
                 except NoResultFound:
                     db.add(GPAO(openid=user.openid,
                                 gpa=gpa[0]['gpa'],
                                 before_revamp=gpa[0]['gpa without revamp'],
                                 calc_time=gpa[0]['calculate time']))
                 items = db.query(GPAD).filter(GPAD.openid == user.openid).all()
                 for item in items:
                     db.delete(item)
                 for item in gpa[1:]:
                     db.add(GPAD(openid=user.openid,
                                 course=item['name'],
                                 credit=item['credit'],
                                 semester=item['semester'],
                                 score=item['score'],
                                 score_type=item['type'],
                                 extra=item['extra']))
                 try:
                     db.commit()
                     self.write(TEMPLATE.format(content=u'更新好啦'))
                 except:
                     db.rollback()
                     self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
             else:
                 self.write(TEMPLATE.format(content=response['content']))
         elif type == 'curriculum':
             response = get_api_return('curriculum', user, timeout=30)
             if response['code'] == 200:
                 courses = db.query(Course).filter(Course.openid == user.openid).all()
                 curriculum = response['content']
                 for course in courses:
                     db.delete(course)
                 for day, items in curriculum.items():
                     for item in items:
                         db.add(Course(openid=user.openid,
                                       course=item[0],
                                       period=item[1],
                                       place=item[2],
                                       day=day))
                 try:
                     db.commit()
                     mycontent = response['content']
                     self.write(TEMPLATE.format(content=mycontent))#u'更新好啦'))
                 except:
                     db.rollback()
                     self.write(TEMPLATE.format(content=u'T T 出了点小问题'))
             else:
                 self.write(TEMPLATE.format(content=response['content']))
         else:
             self.write(TEMPLATE.format(content=u'T T 出了点小问题???'))
     except:
         self.write(TEMPLATE.format(content=u'T T 出了点小问题...'))
     self.finish()
예제 #42
0
파일: get.py 프로젝트: YongdongHe/wechat
def pe_counts(user):
    response = get_api_return("pe", user)
    if response["code"] == 200:
        return u"当前跑操次数 %s 次" % response["content"]
    else:
        return response["content"]