def post(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     flag = sql.queryCourse(conn, cursor, CID)
     if flag == 0:
         self.render("error.html",
                     info={
                         "Content": "出错了",
                         "info": "不存在编号为%d的课程,正在跳转至加入课程界面...请稍候" % CID,
                         "timeout": 3,
                         "url": "/join?UID=%s" % UID
                     })
     else:
         flag = sql.newCourseStudent(conn, cursor, CID, UID)
         if flag == 0:
             self.render("error.html",
                         info={
                             "Content": "出错了",
                             "info": "系统错误,请稍后再试,正在跳转至加入课程界面...请稍候",
                             "timeout": 3,
                             "url": "/join?UID=%s" % UID
                         })
         else:
             (CID, name, TUID,
              info) = sql.queryCourseInfo(conn, cursor, CID)
             self.render("success.html",
                         info={
                             "Content": "加入成功",
                             "info": "您已成功加入%s.正在跳转至该课程界面...请稍候" % name,
                             "timeout": 3,
                             "url": "/course?CID=%d&UID=%s" % (CID, UID)
                         })
 def get(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     lessonName = self.get_argument("lessonName")
     liveList.pop(CID)
     BID = int(sql.queryReplayID(conn, cursor, lessonName)[0])
     ext = ".flv"
     hl = hashlib.md5()
     hl.update(str(BID).encode(encoding='utf-8'))
     filename = hl.hexdigest() + ext
     path = os.path.join("videos", filename)
     # flag = sql.newReplay(conn, cursor, BID, lessonName, filename, CID)
     command = "mv videos/%d_%s.flv videos/%s" % (CID, UID, filename)
     self.application.writer.close(CID)
     os.system(command)
     command = "rm videos/" + str(CID) + "_* -f"
     os.system(command)
     result = sql.queryCourseInfo(conn, cursor, CID)
     name = result[1]
     TUID = result[2]
     intro = result[3]
     self.render("courseteacher.html",
                 UID=UID,
                 CID=CID,
                 name=name,
                 TUID=TUID,
                 intro=intro)
 def get(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     result = sql.queryCourseInfo(conn, cursor, CID)
     TUID = result[2]
     lessonName = liveList[CID]
     self.render("livestudent.html",
                 UID=UID,
                 CID=CID,
                 TUID=TUID,
                 lessonName=lessonName,
                 users=self.application.ChatHome.getUserList(CID))
 def get(self):
     CID = int(self.get_argument("CID"))
     UID = self.get_argument("UID")
     result = sql.queryCourseInfo(conn, cursor, CID)
     name = result[1]
     TUID = result[2]
     if UID == TUID:
         self.render("beforelive.html", UID=UID, CID=CID, name=name)
     else:
         self.render("error.html",
                     info={
                         "Content": "出错了",
                         "info": "只有课程的创建者才能直播,正在跳转至课程界面,请稍候",
                         "timeout": 3,
                         "url": "/course?CID=%d&UID=%s" % (CID, UID)
                     })
 def post(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     lessonName = self.get_argument("lessonName")
     liveList[CID] = lessonName
     result = sql.queryCourseInfo(conn, cursor, CID)
     TUID = result[2]
     BID = sql.maxReplay(conn, cursor)[0] + 1
     ext = ".flv"
     hl = hashlib.md5()
     hl.update(str(BID).encode(encoding='utf-8'))
     filename = hl.hexdigest() + ext
     path = os.path.join("videos", filename)
     sql.newReplay(conn, cursor, BID, lessonName, filename, CID)
     path = path + ".txt"
     self.application.writer.open(CID, path)
     self.render("liveteacher.html",
                 UID=UID,
                 CID=CID,
                 TUID=TUID,
                 lessonName=lessonName)
 def get(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     result = sql.queryCourseInfo(conn, cursor, CID)
     name = result[1]
     TUID = result[2]
     replayList = sql.queryReplay(conn, cursor, CID)
     if UID == TUID:
         self.render("replayteacher.html",
                     UID=UID,
                     CID=CID,
                     name=name,
                     TUID=TUID,
                     replayList=replayList)
     else:
         self.render("replaystudent.html",
                     UID=UID,
                     CID=CID,
                     name=name,
                     TUID=TUID,
                     replayList=replayList)
 def get(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     result = sql.queryCourseInfo(conn, cursor, CID)
     name = result[1]
     TUID = result[2]
     intro = result[3]
     if UID == TUID:
         self.render("courseteacher.html",
                     UID=UID,
                     CID=CID,
                     name=name,
                     TUID=TUID,
                     intro=intro)
     else:
         isLiving = CID in liveList.keys()
         self.render("coursestudent.html",
                     UID=UID,
                     CID=CID,
                     name=name,
                     TUID=TUID,
                     intro=intro,
                     isLiving=isLiving)
 def get(self):
     UID = self.get_argument("UID")
     CID = int(self.get_argument("CID"))
     result = sql.queryCourseInfo(conn, cursor, CID)
     name = result[1]
     self.render('upload.html', UID=UID, CID=CID, name=name)