Exemplo n.º 1
0
    def __init__(self, name='appNewSong'):
        self.name = name
        self.fu = fileUtils(self.name)
        self.ktvid = None
        self.dogname = ''
        self.tempDir = os.path.join(TMPDIR, self.name)
        self.downDir = os.path.join(DOWNLOADDIR, self.name)
        if not os.path.exists(self.downDir):
            os.makedirs(self.downDir)

        self._common_init(self.name)

        self.setting = get_all_config()
        self.lasttime = 0
        if 'NewSong_Update' in self.setting.keys():
            cfg = self.setting.get('NewSong_Update')
            if cfg:
                self.lasttime = try_to_int(cfg.get('config_value'), 0)

        self.cm_type = 2
        if 'CloudMusic_type' in self.setting.keys():
            cfg = self.setting.get('CloudMusic_type')
            self.cm_type = try_to_int(cfg.get('config_value'), 2)

        #self.dbhelper=Thunder().Ins().Karaokdbhelper
        self.remain = 0
Exemplo n.º 2
0
    def do_get_new_song(self):
        try:
            cfg = get_config('cloudmusic_update')
            if cfg:
                self.lasttime = try_to_int(cfg.get('config_value'), 0)
            self._lastmsg = '获取新歌信息'
            nos_list = self.getNewSongList(self.lasttime)
            logger.debug("new songs, list: %s" % nos_list)
            if not nos_list:
                self._lastmsg = '没有获取到新歌信息'
                if self.lastime <= int(time.time()) - 20 * 3600 * 24:
                    self.bll.ResetSort()
                return
            else:
                nlist = nos_list.split("\r\n")
                logger.debug("new song list is : %s" % nlist)
                nos = []
                for no in nlist:
                    nos.append(try_to_int(no, 0))
                if nlist and len(nlist) > 0:
                    total = medias_set_newsong(nos)
                    logging.debug(u'import newsong, total %s songs' % total)

        except Exception as e:
            logger.error("Failed: ktvmoduleservice.updatenewsong()", e)
            logger.error(traceback.format_exc())
Exemplo n.º 3
0
    def post(self, op):
        if not self.check_login():
            return
        if op == 'update':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            imageid = try_to_int(self.get_argument('singleID', ''))
            sectionid = self.get_argument('picmenu', '')
            picorder = try_to_int(self.get_argument('picorder', ''))
            picdesc = self.get_argument('picdesc', '0')
            picurl = self.get_argument('filepath', '')

            if imageid <= 0:
                ret['msg'] = '图片信息ID不能为空!'

            if sectionid == '':
                ret['msg'] = '模块区域代码不能为空!'
            if picorder == '':
                ret['msg'] = '显示顺序不能为空且应为数字!'
            if picdesc == '':
                ret['msg'] = '图片说明不能为空!'
            if picurl == '':
                ret['msg'] = '图片链接不能为空,请确认文件上传成功!'
            res = update_image(imageid, sectionid, picorder, picdesc, picurl)
            if res:
                ret['code'] = 0
                ret['msg'] = '图片信息修改成功!'
            else:
                ret['msg'] = '添加图片信息失败!'
            self.send_json(ret)
        elif op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            sectionid = self.get_argument('picmenu', '')
            picorder = self.get_argument('picorder', '')
            picdesc = self.get_argument('picdesc', '0')
            picurl = self.get_argument('filepath', '')
            if sectionid == '':
                ret['msg'] = '模块区域代码不能为空!'
            if picorder == '':
                ret['msg'] = '显示顺序不能为空且应为数字!'
            if picdesc == '':
                ret['msg'] = '图片说明不能为空!'
            if picurl == '':
                ret['msg'] = '图片链接不能为空,请确认文件上传成功!'

            res = add_new_image(sectionid, picorder, picdesc, picurl)
            if res:
                ret['code'] = 0
                ret['msg'] = '图片信息添加成功!'
            else:
                ret['msg'] = '保存信息失败!'
            self.send_json(ret)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 4
0
 def get(self, op):
     if not self.check_login():
         return
     if op == None:
         #get arguments
         sectionid = try_to_int(self.get_argument('sectionid', '0'))
         if sectionid <= 0:
             raise tornado.web.HTTPError(500)
         #get date from controller:
         res = get_image_by_sectionid(sectionid)
         if isinstance(res, list):
             images = res
         else:
             images = []
         self.render('image.html',
                     images=images,
                     short_desc=self.short_desc)
     if op == 'list':
         result = {}
         result['code'] = 1
         result['msg'] = ''
         result['data'] = None
         #get date from controller:
         res = get_all_image()
         if isinstance(res, dict):
             result['data'] = res
         self.send_json(result)
         #self.render('image.html', total=total, page=page, psize=psize, images=images, short_desc=self.short_desc)
     elif op == 'get':
         ret = {}
         ret['code'] = 1
         ret['data'] = None
         sid = try_to_int(self.get_argument('id', '0'))
         if sid > 0:
             sect = get_image_by_id(sid)
             if isinstance(sect, dict):
                 ret['code'] = 0
                 ret['data'] = sect
         self.send_json(ret)
     elif op == 'update':
         raise tornado.web.HTTPError(405)
     elif op == 'add':
         raise tornado.web.HTTPError(405)
     elif op == 'del':
         ret = {}
         ret['code'] = 1
         ret['data'] = None
         sid = try_to_int(self.get_argument('id', '0'))
         if sid > 0:
             res = delete_image_by_id(sid)
             if res:
                 ret['code'] = 0
                 ret['msg'] = '删除image信息成功!'
             else:
                 ret['msg'] = '删除模块区域信息失败!'
         self.send_json(ret)
     else:
         raise tornado.web.HTTPError(405)
Exemplo n.º 5
0
    def post(self, op):
        if op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''

            try:
                AddMedia_Name = self.get_argument('AddMedia_Name', '')
                AddMedia_Path = self.get_argument('AddMedia_Path', '')
                AddMedia_Type = self.get_argument('AddMedia_Type', '')
                AddMedia_Size = self.get_argument('AddMedia_Size', '')
                AddMedia_SerialNo = self.get_argument('AddMedia_SerialNo', '')
                out = commands.getoutput('df | grep /video/disk')
                out = out.split('\n')
                for i, j in enumerate(out):
                    out[i] = out[i].split(' ')
                    out[i] = [k for k in out[i] if k != '']
                path = []
                for i, j in enumerate(out):
                    path.append(j[4])
                for i, j in enumerate(path):
                    path[i] = int(re.sub('\D', '', j))
                rate = path.index(min(path))
                upload_path = out[rate][5]

                AddMedia_Path_New = os.path.join(upload_path, AddMedia_Path)
                command = 'mv {} {}'.format(AddMedia_Path, AddMedia_Path_New)
                commands.getoutput(command)
                add_new_mediafile(AddMedia_SerialNo, AddMedia_Path_New)
                upload_media(AddMedia_SerialNo, AddMedia_Path_New,
                             AddMedia_Name)
                ret['code'] = 0
                ret['msg'] = u'添加成功!'
            except:
                ret['error'] = traceback.format_exc()
                ret['msg'] = u'添加失败!'
            self.send_json(ret)

        elif op == 'del':
            ret = {}
            try:
                ret['code'] = 1
                ret['data'] = None
                sid = try_to_int(self.get_argument('AddMedia_ID', '0'))
                sno = try_to_int(self.get_argument('AddMedia_SerialNo', '0'))
                if sid > 0 or sno > 0:
                    res = delete_addmedia_by_id(sid, sno)
                    if res:
                        ret['code'] = 0
                        ret['msg'] = u'删除成功!'
                    else:
                        ret['msg'] = u'删除失败!'
            except:
                print traceback.format_exc()
            self.send_json(ret)
Exemplo n.º 6
0
    def get(self, op):
        if not self.check_login():
            return
        if op == None:
            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))

            #use default value if it's not valid
            if page < 1:
                page = 1
            if psize < 5 or psize > 51:
                psize = 15

            #get date from controller:
            res = get_song_search_bypage(page, psize)
            total = 0
            searches = []
            if isinstance(res, dict):
                total = res['total']
                searches = res['matches']

            pageinfo = self.page_info('/search/artist', total, psize, page)

            self.render('searchartist.html',
                        pageinfo=pageinfo,
                        searches=searches,
                        short_desc=self.short_desc)
        if op == 'list':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None

            #get date from controller:
            res = get_all_artist_search()
            if isinstance(res, list):
                result['data'] = {}
                result['data']['matches'] = res
                result['data']['total'] = len(res)
            self.send_json(result)
        elif op == 'get':
            raise tornado.web.HTTPError(405)
        elif op == 'update':
            raise tornado.web.HTTPError(405)
        elif op == 'add':
            raise tornado.web.HTTPError(405)
        elif op == 'del':
            raise tornado.web.HTTPError(405)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 7
0
    def post(self, op):
        if op == 'add':
            _res = dict(code=0, msg='添加成功', result=None)
            skin_name = self.get_argument('skin_name', '')
            if skin_name:
                ret = add_skin(dict(skin_name=skin_name, skin_desc=skin_name))
                if not ret:
                    _res['code'] = 1
                    _res['msg'] = '添加失败'
            else:
                _res['code'] = 1
                _res['msg'] = '无效的皮肤名称'
            self.send_json(_res)
            return
        elif op == 'del':
            _res = dict(code=0, msg='删除成功', result=None)
            skin_id = try_to_int(self.get_argument('skin_id', '0'))
            if skin_id > 0:
                ret = delete_skin(skin_id)
                if not ret:
                    _res['code'] = 1
                    _res['msg'] = '删除失败'
            else:
                _res['code'] = 1
                _res['msg'] = '无效的参数'
            self.send_json(_res)
            return

        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 8
0
    def get(self,op):
        if op == 'list':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None

            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))

            res = get_all_mediafile(page, psize)
            if isinstance(res, dict):
                result['data'] = res
            self.send_json(result)
        elif op == 'count':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None
            res = get_by_count()
            result['data']=res
            self.send_json(result)
        elif op == 'exists':
            _res = {}
            _res['code'] = 1
            _res['msg'] = 'ok'
            _res['result'] = None
            mno = self.get_argument('no', '')
            if not mno:
                _res['code'] = 0
                _res['msg'] = '无效的歌曲编号!'
                self.send_json(_res)
                return
            fpath = get_file_by_no(mno)
            if fpath:
                _res['msg'] = '成功取得文件路径!'
                _res['result'] = fpath
            else:
                _res['code'] = 0
                _res['msg'] = '没有找到文件路径!'
            self.send_json(_res)
            return
        else:
            pass
Exemplo n.º 9
0
    def post(self, op):
        if op == 'update':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            Language_ID = try_to_int(self.get_argument('Language_ID', ''))
            Language_Name = self.get_argument('Language_Name', '')
            Language_Description = self.get_argument('Language_Description',
                                                     '')

            if Language_ID <= 0:
                ret['msg'] = u'语种ID错误!'
                self.send_json(ret)
                return
            if Language_Name == '':
                ret['msg'] = u'语种名称不能为空!'
                self.send_json(ret)
                return

            res = update_languages(Language_ID, Language_Name,
                                   Language_Description)
            if res > 0:
                ret['code'] = 0
                ret['msg'] = u'语种信息修改成功!'
                ret['data'] = res
            else:
                ret['msg'] = u'语种信息修改失败!'
            self.send_json(ret)

        elif op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''

            Language_ID = self.get_argument('Language_ID', '')
            Language_Name = self.get_argument('Language_Name', '')
            Language_Description = self.get_argument('Language_Description',
                                                     '')

            if Language_Name == '':
                ret['msg'] = u'语种名称不能为空!'
                self.send_json(ret)
                return

            res = add_new_language(Language_ID, Language_Name,
                                   Language_Description)
            if res > 0:
                ret['code'] = 0
                ret['msg'] = u'榜单歌曲信息添加成功!'
            else:
                ret['msg'] = u'榜单歌曲信息保存失败!'
            self.send_json(ret)
Exemplo n.º 10
0
    def post(self, op):
        if op == 'uploads':
            result = {}
            upload_path=''
            fileN= self.get_argument('fileName', '')
            no = fileN[0:fileN.find(".")]
            if noAndPathMap.has_key(no):

                upload_path = noAndPathMap[no]

            start= try_to_int(self.get_argument('start', '0'))
            end= try_to_int(self.get_argument('end', '0'))
            filepath=os.path.join(upload_path,fileN)
            size = 0
            if os.path.exists(filepath):
#                 size=os.path.getsize(filepath)
                if start==0:
                    os.remove(filepath)

            if size < end:
                file_metas=self.request.files['file']
                meta=file_metas[0]
                with open(filepath,'ab') as up:
                    up.write(meta['body'])
                up.close()

            result['result']='success'
            result['data']=size
            result['path']=filepath
            self.send_json(result)

        elif op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            MediaFile_MediaManage_ID = try_to_int(self.get_argument('MediaFile_MediaManage_ID', ''))
            MediaFile_Name = try_to_int(self.get_argument('MediaFile_Name', ''))
            res = add_new_mediafile(MediaFile_MediaManage_ID, MediaFile_Name)
            ret['data'] = res
            self.send_json(ret)
Exemplo n.º 11
0
 def post(self, op):
     if not self.check_login():
         return
     if op == 'update':
         ret = {}
         ret['code'] = 1
         ret['data'] = None
         ret['msg'] = ''
         #verid=1&moudlecode=HOME_01&moudledesc=%E4%B8%BB%E9%A1%B5%E8%83%8C%E6%99%AF&imgwidth=1920&imgheight=1081
         se_id = try_to_int(self.get_argument('sectionid', '0'))
         sectioncode = self.get_argument('sectioncode', '')
         sectiondesc = self.get_argument('sectiondesc', '')
         imgwidth = self.get_argument('imgwidth', '0')
         imgheight = self.get_argument('imgheight', '0')
         if se_id <= 0:
             ret['msg'] = '无效的ID值'
             self.send_json(ret)
         elif sectioncode == '' or sectiondesc == '':
             ret['msg'] = '模块区域代码或者模块区域描述不能为空!'
             self.send_json(ret)
         else:
             res = update_section(se_id, sectioncode, sectiondesc, imgwidth, imgheight)
             if res:
                 ret['code'] = 0
                 ret['msg'] = '模块区域保存成功!'
             else:
                 ret['msg'] = '保存信息失败!'
         self.send_json(ret)
     elif op == 'add':
         ret = {}
         ret['code'] = 1
         ret['data'] = None
         ret['msg'] = ''
         #verid=1&moudlecode=HOME_01&moudledesc=%E4%B8%BB%E9%A1%B5%E8%83%8C%E6%99%AF&imgwidth=1920&imgheight=1081
         #se_id = try_to_int(self.get_argument('sectionid', '0'))
         sectioncode = self.get_argument('sectioncode', '')
         sectiondesc = self.get_argument('sectiondesc', '')
         imgwidth = self.get_argument('imgwidth', '0')
         imgheight = self.get_argument('imgheight', '0')
         if sectioncode == '' or sectiondesc == '':
             ret['msg'] = '模块区域代码或者模块区域描述不能为空!'
         elif imgwidth <= 0 or imgheight <= 0:
             ret['msg'] = '模块区域高度和宽度不能小于0!'
         else:
             res = add_new_section(sectioncode, sectiondesc, imgwidth, imgheight)
             if res:
                 ret['code'] = 0
                 ret['msg'] = '模块区域保存成功!'
             else:
                 ret['msg'] = '保存信息失败!'
         self.send_json(ret)
     else:
         raise tornado.web.HTTPError(405)
Exemplo n.º 12
0
 def get(self, op):
     if op == 'list':
         result = {}
         result['code'] = 1
         result['msg'] = ''
         result['data'] = None
         #get arguments
         page = try_to_int(self.get_argument('page', '0'))
         psize = try_to_int(self.get_argument('psize', '15'))
         text = self.get_argument('text', '')
         #get date from controller:
         res = get_all_actors(page, psize, text)
         if isinstance(res, dict):
             result['data'] = res
         self.send_json(result)
     elif op == 'count':
         result = {}
         result['code'] = 1
         result['msg'] = ''
         result['data'] = None
         text = self.get_argument('text', '')
         res = get_by_count(text)
         result['data'] = res
         self.send_json(result)
Exemplo n.º 13
0
    def get(self, op):
        print 'my op is %s' % (op)
        if op == 'list':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None
            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))

            #get date from controller:
            res = get_all_mediamanage(page, psize)
            if isinstance(res, dict):
                result['data'] = res
            self.send_json(result)
        if op == 'count':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None
            res = get_by_count()
            result['data'] = res
            self.send_json(result)
Exemplo n.º 14
0
    def post(self, op):
        if op == 'update':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            MediaType_ID = try_to_int(self.get_argument('MediaType_ID', ''))
            MediaType_Name = self.get_argument('MediaType_Name', '')
            MediaType_Description = self.get_argument('MediaType_Description',
                                                      '')
            MediaType_IsMovie = self.get_argument('MediaType_IsMovie', '')
            MediaType_IsKaraok = self.get_argument('MediaType_IsKaraok', '')
            MediaType_IsAds = self.get_argument('MediaType_IsAds', '')
            MediaType_NewTypeID = self.get_argument('MediaType_NewTypeID', '')

            if MediaType_ID <= 0:
                ret['msg'] = u'歌曲类型ID错误!'
                self.send_json(ret)
                return
            if MediaType_Name == '':
                ret['msg'] = u'歌曲类型名称不能为空!'
                self.send_json(ret)
                return

            res = update_mediatype(MediaType_ID, MediaType_Name,
                                   MediaType_Description, MediaType_IsMovie,
                                   MediaType_IsKaraok, MediaType_IsAds,
                                   MediaType_NewTypeID)
            if res:
                ret['code'] = 0
                ret['msg'] = u'语种信息修改成功!'
            else:
                ret['msg'] = u'语种信息修改失败!'
            self.send_json(ret)

        elif op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            jsonData = json.loads(self.request.body)
            add_mediatype(**jsonData)
Exemplo n.º 15
0
    def post(self, op):
        if not self.check_login():
            self.redirect('/login')
            return
        #if op == 'update':
        _res = {}
        _res['code'] = 1
        _res['msg'] = u"密码修改失败失败!"
        oldpwd = self.get_argument('oldpwd', '')
        newpwd = self.get_argument('newpwd', '')
        renewpwd = self.get_argument('renewpwd', '')
        if oldpwd == '':
            _res['msg'] = "旧密码不能为空!"
            self.send_json(_res)
            return
        if newpwd == '':
            _res['msg'] = "新密码不能为空!"
            self.send_json(_res)
            return
        if not renewpwd == newpwd:
            _res['msg'] = "两次输入的新密码不一致!";
            self.send_json(_res)
            return

        if not is_safe_pwd(newpwd, 6, 16):
            _res['msg'] = "密码设置的太过简单(密码必须包含数字、字母,长度6-16位)!";
            self.send_json(_res)
            return

        userid = try_to_int(self.user['UserNo'])
        if userid <= 0:
            #if user info invalid, logout directly
            self.redirect('/logout')
            return

        res = UpDataAdminPsw(userid, oldpwd, newpwd);
        if res:
            _res['code'] = 0
            _res['msg'] = "密码修改成功!";
        else:
            _res['msg'] = "密码修改失败!";
        self.send_json(_res)
Exemplo n.º 16
0
    def get(self, op):
        if op == 'musicinfo':
            _res = {}
            _res['code'] = 1
            _res['msg'] = "错误!"
            _res['data'] = None
            #get arguments
            musicno = try_to_int(self.get_argument('no', '0'))

            lista = get_musicinfos(musicno)
            if lista:
                for item in lista:
                    if item['songid'] == musicno:
                        _res['code'] = 0
                        _res['msg'] = "数据加载完成!"
                        _res['data'] = item
                        break
            else:
                _res['msg'] = "获取数据失败,请稍后重试!"

            self.send_json(_res)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 17
0
    def post(self, op):
        if not self.check_login():
            return
        if op == 'update':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            pageid = try_to_int(self.get_argument('pageid', '0'))
            pagename = self.get_argument('pagename', '')
            pagedesc = self.get_argument('pagedesc', '')
            channelid = try_to_int(self.get_argument('channelid', ''))
            bgimage = self.get_argument('filepath', '')
            pubdate = self.get_argument('pubdate', '')
            pubstate = try_to_int(self.get_argument('pubstate', ''))

            if pageid <= 0:
                ret['msg'] = '无效的ID值'
                self.send_json(ret)
                return
            if channelid <= 0:
                ret['msg'] = '渠道信息无效!'
                self.send_json(ret)
                return
            if pagename == '':
                ret['msg'] = '页面名称不能为空!'
                self.send_json(ret)
                return
            else:
                res = update_mainpage(pageid, pagename, pagedesc, 
                        channelid, bgimage, pubdate, pubstate)
                if res:
                    ret['code'] = 0
                    ret['msg'] = '保存信息成功!'
                else:
                    ret['msg'] = '保存信息失败!'
            self.send_json(ret)
        elif op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            pagename = self.get_argument('pagename', '')
            pagedesc = self.get_argument('pagedesc', '')
            channelid = try_to_int(self.get_argument('channelid', ''))
            bgimage = self.get_argument('bgimage', '')
            pubdate = self.get_argument('pubdate', '')
            pubstate = try_to_int(self.get_argument('pubstate', ''))


            if channelid <= 0:
                ret['msg'] = '渠道信息无效!'
                self.send_json(ret)
                return
            if pagename == '':
                ret['msg'] = '页面名称不能为空!'
                self.send_json(ret)
                return
            res = add_new_mainpage(pagename, pagedesc, 
                    channelid, bgimage, pubdate, pubstate)
            if res:
                ret['code'] = 0
                ret['msg'] = '信息添加成功!'
            else:
                ret['msg'] = '信息保存失败!'
            self.send_json(ret)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 18
0
    def get(self, op):
        if not self.check_login():
            return
        if op == None:
            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))

            #use default value if it's not valid
            if page < 1:
                page = 1
            if psize < 5 or psize > 51:
                psize = 15

            #get date from controller:
            res = get_all_mainpage_bypage(page, psize)
            total = 0
            pages = []
            if isinstance(res, dict):
                total = res['total']
                pages = res['matches']

            pageinfo = self.page_info('/mainpage', total, psize, page)

            self.render('mainpage.html', pageinfo=pageinfo, pages=pages, short_desc=self.short_desc)
        elif op == 'list':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None
            #get date from controller:
            res = get_all_mainpage()
            if isinstance(res, dict):
                result['code'] = 0
                result['data'] = res
            self.send_json(result)
            #self.render('page.html', total=total, pages=pages, short_desc=self.short_desc)
        elif op == 'get':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            sid = try_to_int(self.get_argument('id', '0'))
            if sid > 0:
                sect = get_mainpage_by_id(sid)
                if isinstance(sect, dict):
                    ret['code'] = 0
                    ret['data'] = sect
            #print str(ret)
            self.send_json(ret)
        elif op == 'update':
            raise tornado.web.HTTPError(405)
        elif op == 'add':
            raise tornado.web.HTTPError(405)
        elif op == 'del':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            sid = try_to_int(self.get_argument('id', '0'))
            if sid > 0:
                res = delete_mainpage_by_id(sid)
                if res:
                    ret['code'] = 0
                    ret['msg'] = '删除信息成功!'
                else:
                    ret['msg'] = '删除信息失败!'
            self.send_json(ret)
        else:
            self.render('page.html')
Exemplo n.º 19
0
    def get(self, op):
        _res = dict(code=0, msg='ok', result=None)
        if op == 'list':
            ret = get_all_servers()
            logger.error("serverinfo: %s" % ret)
            if isinstance(ret, dict):
                _res['result'] = ret

            self.send_json(_res)
            return
        elif op == 'count':
            ret = get_all_servers()
            logger.error("serverinfo: %s" % ret)
            if isinstance(ret, dict):
                _res['result'] = ret['total']

            self.send_json(_res)
            return
        elif op == 'get':
            server_id = try_to_int(self.get_argument('server_id', '0'))
            res = get_server(server_id)
            _res['result'] = res
            self.send_json(_res)
            return
        elif op == 'ls':
            #获取服务器信息
            server_ip = self.get_argument('server_ip', '')
            print 'x' * 76
            #需要去调用获取服务的信息
            mjson = {}
            mjson['server'] = lsService()
            #result = get_server_info(server_ip)
            result = None
            if result == 0:
                mjson['sbtinfo'] = result
            else:
                mjson['sbtinfo'] = {}
            _res = {}
            _res['msg'] = "获取成功"
            _res['code'] = 0
            _res['data'] = mjson
            self.send_json(_res)
            return
        elif op == 'filecount':
            ret = {}
            ret['code'] = 1
            ret['data'] = 0
            output = commands.getoutput(
                'find /video -iname "*.ts" -o -iname "*.mpg" | wc -l')
            if output.isdigit():
                ret['code'] = 0
                ret['data'] = int(output)
            self.send_json(ret)
        elif op == 'listdisk':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            res = list_disk_all()
            if res:
                ret['code'] = 0
                ret['data'] = res
            self.send_json(ret)

        elif op == 'listdir':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            fpath = self.get_argument('path', '')
            if fpath:
                res = list_dir(fpath)
                ret['code'] = 0
                ret['data'] = res
            self.send_json(ret)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 20
0
    def get(self, op):
        if op == 'list':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None
            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))

            #get date from controller:
            res = get_all_medias(page, psize)
            if isinstance(res, dict):
                result['data'] = res
            self.send_json(result)

        elif op == 'count':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            text = self.get_argument('text', '')
            res = get_media_count(text)
            result['data'] = res
            result['state'] = parseFileDataToSQLDataState
            self.send_json(result)

        elif op == 'bylang':
            result = dict(code=0, msg='ok', result=None)

            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))
            lname = self.get_argument('lang', '')

            result['result'] = get_by_lang(lname, page, psize)
            self.send_json(result)
        elif op == 'bytag':
            result = dict(code=0, msg='ok', result=None)

            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '15'))
            tag = self.get_argument('type', '')

            result['result'] = get_by_tag(tag, page, psize)
            self.send_json(result)
        elif op == 'export':
            result = dict(code=0, msg='ok', result=None)
            textPath = os.path.join(os.path.dirname(__file__),
                                    '../static/text')
            if not os.path.isdir(textPath):
                os.makedirs(textPath)
            fpath = os.path.join(textPath, 'export.txt')
            if os.path.exists(fpath):
                os.remove(fpath)
            scope = self.get_argument('scope', 'all')
            if scope == 'all':
                ret = export_medias(fpath)
            else:
                ret = export_medias(fpath, True)
            if ret:
                result['code'] = 0
                result['msg'] = '导出成功'
                result['data'] = 'static/text/export.txt'
            else:
                result['code'] = 1
                result['msg'] = '导出失败'
                result['data'] = 'static/text/export.txt'
                if os.path.exists(fpath):
                    os.remove(fpath)
            self.send_json(result)
            return
        elif op == 'lostfiles':
            result = {}
            result['code'] = 1
            result['data'] = None
            res = get_lost_files()
            if res:
                result['code'] = 0
                result['data'] = res

        elif op == 'uselessfiles':
            result = {}
            result['code'] = 1
            result['data'] = None
            res = get_useless_files()
            if res:
                result['code'] = 0
                result['data'] = res
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 21
0
    def get(self, op):
        _res = {'code': 1, 'msg': 'ok', 'result': None}
        if op == 'list':
            key = self.get_argument('key', '')
            offset = try_to_int(self.get_argument('offset', '0'))
            limit = try_to_int(self.get_argument('limit', '10'))
            result = search_cloudmusic_list(key, offset, limit)
            #result = get_cloudmusic_list(offset, limit)
            _res['result'] = result
            self.send_json(_res)
            return
        elif op == 'search':
            key = self.get_argument('key', '')
            offset = try_to_int(self.get_argument('offset', '0'))
            limit = try_to_int(self.get_argument('limit', '10'))
            result = search_cloudmusic_list(key, offset, limit)
            _res['result'] = result
            self.send_json(_res)
            return
        elif op == 'info':
            mnos = []
            nos = self.get_argument('nos', '')
            for n in nos.split(';'):
                if n.isdigit:
                    mnos.append(n)
            if not mnos:
                _res['code'] = 0
                _res['msg'] = '没有发现有效的歌曲编号!'
                self.send_json()
                return

            res = get_musicinfo_bylist(mnos)
            print res
            if res:
                _res['result'] = res
            self.send_json(_res)
            return
        elif op == 'rtdl':
            #Read setting from db at first.
            rtdl = 0
            try:
                cfg = get_config('CloudMusic_realdown')
                if isinstance(cfg, dict):
                    rtdl = cfg['config_value']
            except:
                pass
            if str(rtdl).isdigit():
                rtdl = int(rtdl)
            else:
                rtdl = 0
            if rtdl == 0:
                _res['code'] = 1
                _res['msg'] = '系统设置中未开启实时下载!'
                _res['result'] = rtdl
                self.send_json(_res)
                return None

            #if enabled rtdl in db, continue to check the login status:
            ses = get_cloud_session()
            if not isinstance(ses, dict):
                _res['code'] = 0
                _res['msg'] = '云客户端未登录!'
                self.send_json(_res)
                return None
            if ses['mealtype'] == 0:
                _res['code'] = 1
                _res['msg'] = '云客户端已经登录!'
                _res['result'] = 1
                self.send_json(_res)
                return None
            else:
                _res['code'] = 1
                _res['msg'] = '云客户端已经登录!'
                _res['result'] = 1
                self.send_json(_res)
                return None
            _res['code'] = 0
            _res['msg'] = '出错啦!'
            self.send_json(_res)
            return None
        elif op == 'dlog':
            offset = try_to_int(self.get_argument('offset', '0'))
            limit = try_to_int(self.get_argument('limit', '10'))
            res = get_music_downlog(offset, limit)
            if isinstance(res, dict):
                _res['code'] = 1
                _res['result'] = res
            self.send_json(_res)
            return None

        else:
            pass
Exemplo n.º 22
0
    def get(self, op):
        server_uri = SERVER_URI_FORMAT.format('127.0.0.1', '6800')
        server = xmlrpclib.ServerProxy(server_uri, allow_none=True)
        options = None
        position = None
        _res = {'code': 1, 'msg': 'ok', 'result': None}
        if op == 'list':
            offset = try_to_int(self.get_argument('offset', '0'))
            limit = try_to_int(self.get_argument('limit', '10'))
            jobs = []
            ret1 = server.aria2.tellActive()
            if ret1:
                for r in ret1:
                    job = {}
                    job['gid'] = r['gid']
                    job['total'] = r['totalLength']
                    job['complete'] = r['completedLength']
                    job['status'] = r['status']
                    job['url'] = r['files'][0]['uris'][0]['uri']
                    job['fpath'] = r['files'][0]['path']
                    total = int(r['totalLength'])
                    done = int(r['completedLength'])
                    if not done == 0 and total > 0:
                        job['percent'] = round(
                            float(done) / float(total) * 99, 2)
                    else:
                        job['percent'] = 0
                    jobs.append(job)

            ret2 = server.aria2.tellStopped(0, 50)
            if ret2:
                for r in ret2:
                    job = {}
                    job['gid'] = r['gid']
                    job['total'] = r['totalLength']
                    job['complete'] = r['completedLength']
                    job['status'] = r['status']
                    job['url'] = r['files'][0]['uris'][0]['uri']
                    job['fpath'] = r['files'][0]['path']
                    total = int(r['totalLength'])
                    done = int(r['completedLength'])
                    if not done == 0 and total > 0:
                        job['percent'] = round(
                            float(done) / float(total) * 99, 2)
                    else:
                        job['percent'] = 0
                    jobs.append(job)

            ret3 = server.aria2.tellWaiting(0, 50)
            if ret3:
                for r in ret3:
                    job = {}
                    job['gid'] = r['gid']
                    job['total'] = r['totalLength']
                    job['complete'] = r['completedLength']
                    job['status'] = r['status']
                    job['url'] = r['files'][0]['uris'][0]['uri']
                    job['fpath'] = r['files'][0]['path']
                    total = int(r['totalLength'])
                    done = int(r['completedLength'])
                    if not done == 0 and total > 0:
                        job['percent'] = round(
                            float(done) / float(total) * 99, 2)
                    else:
                        job['percent'] = 0
                    jobs.append(job)

            for job in jobs:
                sno = redis_cli.hget(get_dljobs_map_key(), job['gid'])
                job['musicno'] = sno
                if sno and sno.isdigit():
                    minfo = get_musicinfo_byno(sno)
                    if isinstance(minfo, dict):
                        job['music_name'] = minfo['Music_Caption']
                        job['music_singers'] = ','.join([minfo['Music_SingerName'],minfo['Music_SingerNameTwo'],\
                                minfo['Music_SingerNameThree'],minfo['Music_SingerNameFour']]).strip(',')
                        job['music_language'] = minfo['Music_Language']
                        job['music_type'] = minfo['Music_3d1']
                        pass
                    else:
                        job['music_name'] = ''
                        job['music_singers'] = ''
                        job['music_language'] = ''
                        job['music_type'] = ''
                        pass
                    pass

            _res['result'] = {
                'data': jobs[offset:(offset + limit)],
                'total': len(jobs)
            }
            self.send_json(_res)
            return
        elif op == 'status':
            mno = self.get_argument('no', '')
            rt = try_to_int(self.get_argument('rt', '0'))
            if mno:
                gid = aria2_mno2gid(mno)
            else:
                gid = self.get_argument('gid', '')

            if not gid:
                #看是否有缓存信息,实时下载的请求可返回此信息
                if rt == 1:
                    tinfo = get_aria2_complete_task(mno)
                    if isinstance(tinfo, dict):
                        _res['result'] = tinfo
                        self.send_json(_res)
                        return
                _res['msg'] = '下载任务已经失效,请重新添加下载任务!'
                self.send_json(_res)
                return

            r = server.aria2.tellStatus(gid)
            if isinstance(r, dict):
                job = {}
                job['gid'] = r['gid']
                job['total'] = r['totalLength']
                job['complete'] = r['completedLength']
                job['status'] = r['status']
                job['url'] = r['files'][0]['uris'][0]['uri']
                job['fpath'] = r['files'][0]['path']
                total = int(r['totalLength'])
                done = int(r['completedLength'])
                if not done == 0 and total > 0:
                    job['percent'] = round(float(done) / float(total) * 99, 2)
                else:
                    job['percent'] = 0
            else:
                job = get_aria2_complete_task(mno)
                if isinstance(job, dict):
                    job['percent'] = 100
            if not isinstance(job, dict):
                _res['msg'] = '无此歌曲下载信息!'
                self.send_json(_res)
                return

            minfo = get_musicinfo_byno(mno)
            if isinstance(minfo, dict):
                job['music_name'] = minfo['Music_Caption']
                job['music_singers'] = ','.join([minfo['Music_SingerName'],minfo['Music_SingerNameTwo'],\
                        minfo['Music_SingerNameThree'],minfo['Music_SingerNameFour']]).strip(',')
                job['music_language'] = minfo['Music_Language']
                job['music_type'] = minfo['Music_3d1']
            else:
                job['music_name'] = ''
                job['music_singers'] = ''
                job['music_language'] = ''
                job['music_type'] = ''
            _res['result'] = job
            self.send_json(_res)
            return
        else:
            pass
Exemplo n.º 23
0
    def post(self, op):
        server_uri = SERVER_URI_FORMAT.format('127.0.0.1', '6800')
        server = xmlrpclib.ServerProxy(server_uri, allow_none=True)
        options = None
        position = None
        _res = {'code': 1, 'msg': 'ok', 'result': None}

        if op == 'add':
            url = ''
            mno = self.get_argument('no', '')
            realtime = try_to_int(self.get_argument('rt', '0'))
            cl_sec = get_cloud_session()
            if not isinstance(cl_sec, dict) or 'validkey' not in cl_sec.keys():
                _res['code'] = 0
                _res['msg'] = '云端未登录!请先在系统设置页面设置云端登录的用户名和密码,重启服务后再试!'
                self.send_json(_res)
                return
            if cl_sec['Wpayment'] == 0:
                _res['code'] = 0
                _res['msg'] = cl_sec['paymentError']
                self.send_json(_res)
                return
            if cl_sec['dcount'] == 0 and not cl_sec['mealtype'] == 0:
                _res['code'] = 0
                _res['msg'] = "套餐额度已经用完!"
                self.send_json(_res)
                return

            if self.check_task_exists(mno, realtime):
                if realtime == 1:
                    set_mno_realtime_download(mno)
                _res['msg'] = '已经添加了下载任务'
                self.send_json(_res)
                return

            url_info = get_cloudmusic_url(mno)
            if isinstance(url_info, dict) and 'Music_Link' in url_info.keys():
                url = url_info['Music_Link']
            #TODO: Convert songno to url here
            if not url:
                url = self.get_argument('url', '')

            minfo = get_musicinfo_byno(mno)

            if not url or not minfo:
                _res['code'] = 0
                _res['msg'] = '无法获得歌曲的下载链接!'
                self.send_json(_res)
                return

            speed_cfg = get_download_limit()
            down_limit = 0
            if speed_cfg:
                if realtime == 1:
                    down_limit = speed_cfg['always_speed']
                else:
                    down_limit = speed_cfg['normal_speed']

            base_dir = '/data/download/cloudmusic'
            if not os.path.exists(base_dir):
                os.makedirs(base_dir, mode=0755)
            options = {
                'dir': base_dir,
                'max-download-limit': "%sK" % str(down_limit)
            }

            #gid = server.aria2.addUri([url], options, position)
            gid = server.aria2.addUri([url], options)
            if gid:
                if mno:
                    #need set the redis here
                    gret = set_musictask_gid(mno, gid, realtime)
                    if not gret:
                        logger.error("Failed to cache gid for %s, url: %s" %
                                     (mno, url))

                _res['result'] = gid
                _res['msg'] = '添加下载任务成功!'
                _res['code'] = 1
                dlinfo = {}
                dlinfo['down_gid'] = gid
                dlinfo['music_no'] = mno
                if minfo:
                    dlinfo['music_caption'] = minfo['Music_Caption']
                    if isinstance(minfo['Singers'], list):
                        dlinfo['music_singer'] = ','.join(
                            [s['Singer_Name'] for s in minfo['Singers']])
                    else:
                        dlinfo['music_singer'] = ''
                    dlinfo['music_lang'] = minfo['Music_Language']
                    dlinfo['music_ver'] = minfo['Music_LastVersion']
                    #"/Date(1332169506000)/"
                    #dlinfo['music_verdate'] = minfo['Music_LastVersionDate']
                    dlinfo['music_type'] = minfo['Music_Normal1']

                #dlinfo['down_path'] = gid
                #dlinfo['down_url'] = url
                dlinfo['down_stime'] = datetime.datetime.now()
                #dlinfo['down_etime'] =
                dlinfo['down_status'] = 0
                dlinfo['down_type'] = realtime
                #dlinfo['music_addtime'] = gid
                #dlinfo['music_replace'] = gid
                #dlinfo['file_md5'] = gid
                #dlinfo['file_type'] = gid
                #dlinfo['file_size'] = gid
                dlinfo['movie_type'] = 1

                add_music_downlog(dlinfo)
            self.send_json(_res)
            return
        elif op == 'remove':
            mno = self.get_argument('no', '')
            if not mno:
                _res['code'] = 0
                _res['msg'] = '无效的歌曲编号!'
                self.send_json(_res)
                return
            gid = aria2_mno2gid(mno)
            if not gid:
                _res['code'] = 0
                _res['msg'] = '无此下载任务!'
                self.send_json(_res)
                return
            #gid = self.get_argument('gid', '')
            #TODO: Convert songno to url here
            #url = self.get_argument('url', '')
            ret = server.aria2.remove(gid)
            if not ret:
                _res['code'] = 2
                _res['msg'] = '删除任务失败!'
            self.send_json(_res)
            return
        elif op == 'start':
            mno = self.get_argument('no', '')
            if not mno:
                _res['code'] = 0
                _res['msg'] = '无效的歌曲编号!'
                self.send_json(_res)
                return
            gid = aria2_mno2gid(mno)
            if not gid:
                _res['code'] = 0
                _res['msg'] = '无此下载任务!'
                self.send_json(_res)
                return
            #gid = self.get_argument('gid', '')
            #TODO: Convert songno to url here
            ret = server.aria2.unpause(gid)
            if not ret:
                _res['code'] = 0
                _res['msg'] = '无法重新唤起此任务!请稍后再试.'
            self.send_json(_res)
            return
        elif op == 'pause':
            mno = self.get_argument('no', '')
            if not mno:
                _res['code'] = 0
                _res['msg'] = '无效的歌曲编号!'
                self.send_json(_res)
                return
            gid = aria2_mno2gid(mno)
            if not gid:
                _res['code'] = 0
                _res['msg'] = '无此下载任务!'
                self.send_json(_res)
                return
            gid = server.aria2.pause(gid)
            _res['code'] = 1
            _res['msg'] = '任务已经停止!'
            _res['gid'] = gid
            self.send_json(_res)
            return
        elif op == 'stop':
            mno = self.get_argument('no', '')
            if not mno:
                _res['code'] = 0
                _res['msg'] = '无效的歌曲编号!'
                self.send_json(_res)
                return
            gid = aria2_mno2gid(mno)
            if not gid:
                _res['code'] = 0
                _res['msg'] = '无此下载任务!'
                self.send_json(_res)
                return
            tsinfo = server.aria2.tellStatus(gid)
            if not isinstance(tsinfo, dict):
                _res['code'] = 0
                _res['msg'] = '任务不存在!'
                self.send_json(_res)
                return
            if tsinfo['status'] in ['error', 'completed', 'removed']:
                ret = self.server.aria2.removeDownloadResult(tsinfo['gid'])
            else:
                ret = server.aria2.remove(tsinfo['gid'])
                ret = self.server.aria2.removeDownloadResult(tsinfo['gid'])
            fpath = tsinfo['files'][0]['path']
            if fpath:
                os.remove(fpath)
            del_musictask_gid(mno, tsinfo['gid'])
            self.send_json(_res)
            return
        elif op == 'pauseall':
            ret = server.aria2.pauseAll()
            if ret:
                _res['code'] = 0
            self.send_json(_res)
            return
        else:
            pass
Exemplo n.º 24
0
    def post(self, op):
        if not self.check_login():
            return
        if op == 'update':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''
            artsid = try_to_int(self.get_argument('artsid', ''))
            artsname = self.get_argument('artsname', '')
            artstitle = self.get_argument('artstitle', '')
            artsdesc = self.get_argument('artsdesc', '')
            bgimage = self.get_argument('filepath', '')
            artslist = self.get_argument('artslist', '')
            artistsorder = try_to_int(self.get_argument('artistsorder', ''))

            if artsid <= 0:
                ret['code'] = 1
                ret['msg'] = u'推荐信息ID不正确,请重新加载页面!'
                self.send_json(ret)
                return

            if artsname == '' or len(artsname) > 70:
                ret['code'] = 1
                ret['msg'] = u'推荐名称不能为空!'
                self.send_json(ret)
                return

            if artstitle == '' or len(artstitle) > 70:
                ret['code'] = 1
                ret['msg'] = u'推荐标题不能为空且不能超过70字!'
                self.send_json(ret)
                return

            arts = artslist.strip().split('\n')
            arts = self._strip_artiste_list(arts)
            if len(arts) == 0 or len(arts) > 70:
                ret['code'] = 1
                ret['msg'] = u'推荐歌星不能为空且最多不能超过70个!'
                self.send_json(ret)
                return

            #if bgimage == '':
            #    ret['code'] = 1
            #    ret['msg'] = u'图片链接不能为空,请确认文件上传成功!'
            #    self.send_json(ret)
            #    return
            res = update_artists(artsid, artsname, artstitle, artsdesc, arts,
                                 bgimage)
            if res:
                ret['code'] = 0
                ret['msg'] = u'推荐歌星信息修改成功!'
            else:
                ret['msg'] = u'推荐歌星信息修改失败!'
            self.send_json(ret)
        elif op == 'add':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            ret['msg'] = ''

            artsname = self.get_argument('artsname', '')
            artstitle = self.get_argument('artstitle', '')
            artsdesc = self.get_argument('artsdesc', '')
            bgimage = self.get_argument('filepath', '')
            artslist = self.get_argument('artslist', '')
            artistsorder = try_to_int(self.get_argument('artistsorder', ''))

            if artsname == '' or len(artsname) > 70:
                ret['code'] = 1
                ret['msg'] = u'推荐名称不能为空!'
                self.send_json(ret)
                return

            if artstitle == '' or len(artstitle) > 70:
                ret['code'] = 1
                ret['msg'] = u'推荐标题不能为空且不能超过70字!'
                self.send_json(ret)
                return

            arts = artslist.strip().split('\n')
            arts = self._strip_artiste_list(arts)
            if len(arts) == 0 or len(arts) > 70:
                ret['code'] = 1
                ret['msg'] = u'推荐歌星不能为空且最多不能超过70个!'
                self.send_json(ret)
                return

            res = add_new_artists(artsname, artstitle, artsdesc, arts, bgimage)
            if res:
                ret['code'] = 0
                ret['msg'] = u'推荐信息添加成功!'
            else:
                ret['msg'] = u'推荐信息添加失败!'
            self.send_json(ret)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 25
0
    def get(self, op):
        if not self.check_login():
            return
        if op == None:
            #get arguments
            page = try_to_int(self.get_argument('page', '0'))
            psize = try_to_int(self.get_argument('psize', '70'))

            #use default value if it's not valid
            if page < 1:
                page = 1
            if psize < 5 or psize > 70:
                psize = 70

            #get date from controller:
            res = get_all_artists_bypage(page, psize)
            total = 0
            artslist = {}
            if isinstance(res, dict):
                total = res['total']
                artslist = res['matches']
            pageinfo = self.page_info('/artists', total, psize, page)

            self.render('artists.html',
                        pageinfo=pageinfo,
                        artslist=artslist,
                        short_desc=self.short_desc)
        if op == 'list':
            result = {}
            result['code'] = 1
            result['msg'] = ''
            result['data'] = None
            #get date from controller:
            res = get_all_artists()
            if isinstance(res, list):
                result['data'] = {}
                result['data']['matches'] = res
                result['data']['total'] = len(res)
            self.send_json(result)
        elif op == 'get':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            sid = try_to_int(self.get_argument('id', '0'))
            if sid > 0:
                res = get_artists_by_id(sid)
                if isinstance(res, dict):
                    ret['code'] = 0
                    #res['artistssongs'] = res['artistssongs'].replace(',', '\n')
                    ret['data'] = res
            self.send_json(ret)
        elif op == 'update':
            raise tornado.web.HTTPError(405)
        elif op == 'add':
            raise tornado.web.HTTPError(405)
        elif op == 'del':
            ret = {}
            ret['code'] = 1
            ret['data'] = None
            sid = try_to_int(self.get_argument('id', '0'))
            if sid > 0:
                res = delete_artists_by_id(sid)
                if res:
                    ret['code'] = 0
                    ret['msg'] = u'删除歌星推荐信息成功!'
                else:
                    ret['msg'] = u'删除歌星推荐信息失败!'
            self.send_json(ret)
        else:
            raise tornado.web.HTTPError(405)
Exemplo n.º 26
0
    def post(self, op):
        if op == 'update':
            '''
            '''
            sinfo = json.loads(self.request.body)
            _res = dict(code=0, msg='修改成功!', result=None)
            ret = update_server(sinfo)
            if ret:
                pass
            else:
                _res['code'] = 1
                _res['msg'] = "保存失败!"

            self.send_json(_res)
            return
        elif op == 'add':
            '''
            '''
            sinfo = json.loads(self.request.body)
            _res = dict(code=0, msg='保存成功!', result=None)
            ret = add_server(sinfo)
            if ret:
                pass
            else:
                _res['code'] = 1
                _res['msg'] = "保存失败!"
            self.send_json(_res)
            return
        elif op == 'del':
            _res = dict(code=0, msg='删除成功!', result=None)
            svrid = try_to_int(self.get_argument('server_id', '0'))
            ret = del_server(svrid)
            if ret:
                pass
            else:
                _res['code'] = 1
                _res['msg'] = "删除失败!"

            self.send_json(_res)
            return
        elif op == 'servicerestart':
            mjsondata = json.loads(self.request.body)
            _res = {}
            _res['msg'] = ''
            try:
                for sign in mjsondata:
                    if restartService(sign) == 0:
                        if _res['msg'] == '':
                            _res['msg'] = serverjson[sign] + "操作成功!"
                        else:
                            _res['msg'] = _res['msg'] + "\n" + serverjson[
                                sign] + "操作成功!"
                    else:

                        if _res['msg'] == '':
                            _res['msg'] = serverjson[sign] + "操作失败!"
                        else:
                            _res['msg'] = _res['msg'] + "\n" + serverjson[
                                sign] + "操作失败!"
            except:
                _res['msg'] = "启动失败!"
            _res['code'] = 0

            self.send_json(_res)
            return
        elif op == 'servicestop':
            mjsondata = json.loads(self.request.body)
            #elif updatatype=="stopserver":
            _res = {}
            _res['msg'] = ''
            for sign in mjsondata:
                if sign == "twm":
                    continue
                if stopService(sign) == 0:
                    if _res['msg'] == '':
                        _res['msg'] = serverjson[sign] + "停止服务成功!"
                    else:
                        _res['msg'] = _res['msg'] + "\n" + serverjson[
                            sign] + "停止服务成功!"
                else:

                    if _res['msg'] == '':
                        _res['msg'] = serverjson[sign] + "停止失败!"
                    else:
                        _res['msg'] = _res['msg'] + "\n" + serverjson[
                            sign] + "停止失败!"
            _res['code'] = 0
            self.send_json(_res)
            return
        else:
            raise tornado.web.HTTPError(405)