示例#1
0
def javmagnet(qbbb='qb',gid='0',uc='0'):
    menus=[]
    baseurl=javbusurl['base']
    if qbbb=='om':
        baseurl=javbusurl['om']
#try:
    rspmagnet=_http('%s/ajax/uncledatoolsbyajax.php?gid=%s&uc=%s&floor=1'%(baseurl,gid,uc),referer=baseurl)
    #xbmc.log(rspmagnet)
    leechmagnet = re.compile('onmouseover.*?href="(?P<magnet>magnet.*?)">\s*(?P<title>.*?)\s*</a>.*?href.*?">\s*(?P<filesize>.*?)\s*</a>.*?href.*?">\s*(?P<createdate>.*?)\s*</a>',  re.S)
    #if qbbb=='om':
    #	leechmagnet = re.compile(r'onmouseover.*?\x29">\s*(?P<title>.*?)\s*</td>.*?">\s*(?P<filesize>.*?)\s*</td>.*?">\s*(?P<createdate>.*?)\s*</td>.*?href="(?P<magnet>magnet.*?)">',  re.S)
    for match in leechmagnet.finditer(rspmagnet):
        
        magnet=match.group('magnet')
        title=match.group('title')
        title = re.sub("<a\x20.*?>", "|", title)
        filesize=match.group('filesize')
        createdate=match.group('createdate')
        

        filemsg ='大小:'+filesize+'  创建时间:'+createdate
        
        listitem=ListItem(label=comm.colorize_label(title, 'bt'), 
            label2=filesize, icon=None,
            thumbnail=xbmc.translatePath( os.path.join( IMAGES_PATH, 'magnet.jpg') ), 
            path=plugin.url_for('execmagnet',
            url=six.ensure_binary(magnet),title=six.ensure_binary(title),msg=six.ensure_binary(filemsg)))
        
        menus.append(listitem)
    return menus
#except:
    plugin.notify('自带磁力获取失败')
    return
示例#2
0
def dbphotos(subject, pictype='S', page=0):
    pictypes = {'R': '海报', 'S': '剧照', 'W': '壁纸'}
    del pictypes[pictype]
    menus = []
    for key in pictypes:
        menus.append({
            'label':
            comm.colorize_label(pictypes[key], None, color='32FF94'),
            'path':
            plugin.url_for('dbphotos', subject=subject, pictype=key, page=0),
            'thumbnail':
            xbmc.translatePath(os.path.join(IMAGES_PATH, 'picture.png'))
        })
    url = 'https://movie.douban.com/subject/%s/photos?type=%s&start=%d' % (
        subject, pictype, int(page) * 30)
    #plugin.log.error(url)
    rsp = _http(url, referer='https://www.douban.com/link2/')
    rtxt = r'\x3Cli.*?data\x2Did.*?img\s+src\x3D\x22(?P<imgurl>[^\s]*?)\x22.*?\x22name\x22\x3E(?P<imgname>.*?)\x3C'
    for photo in re.finditer(rtxt, rsp, re.DOTALL):
        resource_url = ''
        limg = photo.group('imgurl')
        limg = limg.replace('/m/', '/l/')
        imgname = html_parser.HTMLParser().unescape(
            photo.group('imgname').strip())
        menus.append({
            'label': imgname,
            'path': plugin.url_for('showpic', imageurl=limg),
            #'path':limg,
            #'is_playable':True,
            #'info_type':'video',
            'properties': {
                'mimetype': 'image/jpeg'
            },
            'thumbnail': photo.group('imgurl'),
        })
    m = re.search("\x22count\x22.*?(?P<count>[0-9]+)", rsp, re.DOTALL)
    if m:
        count = int(m.group('count'))
        totalpage = int((count - 1) / 30)
        if int(page) < totalpage:
            menus.append({
                'label':
                '下一页',
                'thumbnail':
                xbmc.translatePath(os.path.join(IMAGES_PATH, 'nextpage.png')),
                'path':
                plugin.url_for('dbphotos',
                               subject=subject,
                               pictype=pictype,
                               page=int(page) + 1)
            })

    #plugin.set_content('images')
    comm.setthumbnail = True
    #notify('dbphotos:'+subject)
    return menus
示例#3
0
def btsearch(enginestr, sstr, sorttype):
    if not sstr or sstr == '0':
        return
    max = int(plugin.get_setting('btmaxresult'))
    max = (max + 1) * 20
    items = []
    if enginestr != 'all' and sorttype == '-1':
        engineinfo = nova2.getengineinfo(enginestr)
        supportsort = engineinfo['support_sort']
        if len(supportsort) > 0:
            sortkeys = {
                'relevance': '相关度',
                'addtime': '创建时间',
                'size': '文件大小',
                'files': '文件数量',
                'popular': '热度',
            }
            dialog = xbmcgui.Dialog()
            sortselectlist = []
            for s in supportsort:
                sortselectlist.append(sortkeys[s])
            sorttype = dialog.select(engineinfo['name'] + '选择排序类型',
                                     sortselectlist)
            if sorttype == -1:
                return None
            sorttype = supportsort[int(sorttype)]
            #plugin.notify(sorttype)
    result = nova2.search(enginestr, sstr, sorttype, maxresult=max)
    msg = '共找到%d条磁力链' % (len(result))
    plugin.notify(msg)

    for res_dict in result:
        title = '[COLOR FF00FFFF]' + res_dict[
            'size'] + '[/COLOR]' + '[COLOR FFCCFFCC]' + res_dict[
                'date'][:10] + '[/COLOR]' + res_dict['name'].encode('UTF-8')
        filemsg = '大小:' + res_dict['size'].encode(
            'UTF-8') + '  创建时间:' + res_dict['date'].encode('UTF-8')
        listitem = ListItem(label=comm.colorize_label(title, 'bt'),
                            label2=res_dict['size'],
                            icon=None,
                            thumbnail=None,
                            path=plugin.url_for(
                                'execmagnet',
                                url=res_dict['link'].encode('UTF-8'),
                                title=title,
                                msg=filemsg))
        #listitem.set_info('picture', {'size': anySizeToBytes(res_dict['size'])})
        context_menu_items = []
        if (list == 'other'):
            titletype = title
        items.append(listitem)
    return items
示例#4
0
def dbactor(sstr,sort='time',page=0):
    try:
        url = 'https://movie.douban.com/celebrity/%s/' % (sstr)
        rsp = _http(url)
        celename=celeinfo=celeimg=summary=''
        m = re.search(r"\x22nbg\x22\s+title\x3D\x22(?P<celename>.*?)\x22\s+href\x3D\x22(?P<celeimg>.*?)\x22", rsp, re.DOTALL)
        if m:
            celename = m.group("celename")
            celeimg= m.group("celeimg")
        rtxt = r'(?P<celeinfo>\x3Cli\x3E\s+\x3Cspan\x3E性别.+?)\x3C\x2Ful\x3E'
        m = re.search(rtxt, rsp, re.DOTALL)
        if m:
            celeinfo=m.group('celeinfo')
            celeinfo=re.sub(r'\x3C.*?\x3E','',celeinfo)
            celeinfo=re.sub(r'\x3A\s+','\x3A',celeinfo, re.DOTALL)
            celeinfo=celeinfo.replace(' ','')
            celeinfo=re.sub(r'\s+','\r\n',celeinfo, re.DOTALL)
            #plugin.log.error(celename)
        m = re.search(r'影人简介.*?\x22bd\x22\x3E(?P<summary>.*?)\x3C', rsp, re.DOTALL)
        if m:
            summary = m.group("summary")
        m = re.search(r'\x22all\s+hidden\x22\x3E(?P<summary>.*?)\x3C', rsp, re.DOTALL)
        if m:
            summary = m.group("summary")
        menus =[]
        menus.append({'label':'简介:[COLOR FFFF2222]%s[/COLOR]'%celename,
                    'path':  plugin.url_for('dbsummary', summary=six.ensure_binary(celename+celeinfo+summary)),
                    'thumbnail':celeimg})
        menus.append({'label':comm.colorize_label('影人图片',None,color='32FF94') ,
                    'path':  plugin.url_for('celephotos', cele=six.ensure_binary(sstr),page=0),
                    'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'picture.png') )})
        if sort=='time':
            menus.append({'label': '按[COLOR FFFF3333]评分[/COLOR]排序',
                'path': plugin.url_for('dbactor',sstr=six.ensure_binary(sstr),sort='vote',page='0')})
        else:
            menus.append({'label': '按[COLOR FFFF3333]时间[/COLOR]排序',
                'path': plugin.url_for('dbactor',sstr=six.ensure_binary(sstr),sort='time',page='0')})
        url = 'https://movie.douban.com/celebrity/%s/movies?start=%d&format=pic&sortby=%s&' % (sstr,int(page)*10,sort)
        rsp = _http(url)
        rtxt=r'subject\x2F(?P<id>[0-9]+)\x2F.*?img\ssrc\x3D\x22(?P<imgurl>.*?)\x22.*?title\x3D\x22(?P<title>.*?)\x22.*?\x22star\s.*?span\x3E(?P<rate>.*?)\x3C\x2Fdiv'
        for sub in re.finditer(rtxt, rsp, re.DOTALL):
            rate = ''
            mrate=re.search(r'\x3Cspan\x3E(?P<rate>[\x2E0-9]+?)\x3C',sub.group('rate').strip(), re.DOTALL)
            if mrate:
                rate=mrate.group('rate')
            
            context_menu_items=[]
            context_menu_items.append(('搜索'+colorize_label(sub.group('title'), color='00FF00'), 
                'RunPlugin('+plugin.url_for('searchinit',stypes='pan,bt,db',sstr=six.ensure_binary(sub.group('title')),modify='1',otherargs='{}')+')',))
                
            listitem=ListItem(label='%s[[COLOR FFFF3333]%s[/COLOR]]'%(sub.group('title'),rate),
                    thumbnail= sub.group('imgurl'), 
                    path = plugin.url_for('dbsubject', subject=sub.group('id')),)
                    
            if len(context_menu_items)>0 and listitem!=None:
                listitem.add_context_menu_items(context_menu_items)
                menus.append(listitem)
        
        m = re.search("\x22count\x22.*?(?P<count>[0-9]+)", rsp, re.DOTALL)
        if m:
            count =int( m.group('count'))
            totalpage=int((count-1)/30)
            if int(page)<totalpage:
                menus.append({'label':'下一页','thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'nextpage.png') ),
                        'path':  plugin.url_for('dbactor',sstr=six.ensure_binary(sstr),sort=sort,page=int(page)+1)})
        plugin.set_content('images')
        setthumbnail['set']=True
        return menus
        return menus
        
    except Exception as e:
        plugin.notify(str(e))
        xbmc.log(msg=format_exc(),level=xbmc.LOGERROR)
        return
示例#5
0
def dbsubject(subject):
    menus=[]
    try:
        rsp = _http('https://movie.douban.com/subject/'+subject+'/',referer='https://www.douban.com/link2/')

        #plugin.log.error(rsp)
        year=title=title2=thumb=summary=''
        
        m = re.search(r"title\x3E\s*(?P<title>.*?)\s*\x3C\x2Ftitle", rsp, re.DOTALL)
        if m:
            title = m.group("title")
            title=title[0:title.index('(')].strip()
            
        rtxt = r'dale_movie_subject_top_icon.*?itemreviewed\x22\x3E(?P<title>.*?)\x3C.*?\x22year\x22\x3E(?P<year>.*?)\x3C.*?mainpic.*?img\s+src\x3D\x22(?P<thumb>.*?)\x22'
        m = re.search(rtxt, rsp, re.DOTALL)
        
        if m:
            year=m.group('year').strip(')(')
            title2=html_parser.HTMLParser().unescape(m.group('title'))
            title2=title2.replace(title,'').strip()
            thumb=m.group('thumb')
            
        rtxt=r'summary.*?\x3E\s*(?P<summary>.*?)\s*\x3C'
        m = re.search(rtxt, rsp, re.DOTALL)
        if m:
            summary=m.group('summary')
        
        rtxt=r'div\s+id\x3D\x22info\x22\x3E\s+(?P<info>.*?)\s+\x3C\x2Fdiv'
        m = re.search(rtxt,rsp, re.DOTALL)
        genres=[]
        areas=[]
        names=[]
       
        if m:
            info=m.group('info')
            m = re.search(r'类型.*?(?P<strs>\x3Cspan.*?span\x3E\s*)\x3Cbr', info, re.DOTALL)
            if m:
                strs = m.group('strs')
                for m in re.finditer("\x3E(?P<gen>[^\x3E\x3C]+?)\x3C\x2Fspan", strs, re.DOTALL):
                    genres.append(m.group('gen'))
            m = re.search(r'制片国家.*?span\x3E\s*(?P<strs>.*?)\x3Cbr', info, re.DOTALL)
            if m:
                strs = m.group('strs')
                for area in strs.split('/'):
                    areas.append(area.strip())
            m = re.search(r'又名.*?span\x3E\s*(?P<strs>.*?)\x3Cbr', info, re.DOTALL)
            if m:
                strs = html_parser.HTMLParser().unescape(m.group('strs'))
                for othtitle in strs.split('/'):
                    names.append(othtitle.strip())
        celes=[]
                    
        rtxt=r"avatar[^\n]*?background\x2Dimage[^\n]*?url\x28(?P<img>[^\x2C\s]*?)\x29\x22\x3E.*?celebrity\x2F(?P<id>[0-9]+)\x2F.*?name\x22\x3E(?P<name>.*?)\x3C\x2Fa\x3E.*?title\x3D\x22(?P<role>.*?)\x22\x3E"
        for m in re.finditer(rtxt, rsp, re.DOTALL):
             celes.append({'id':m.group('id'),'name':m.group('name'),'img':m.group('img'),'role':m.group('role'),})
             
        tags=[]
        m = re.search("\x22tags-body\x22\x3E.*?\x3C\x2Fdiv\x3E", rsp, re.DOTALL)
        if m:
            tagsg = m.group()
            for m in re.finditer("\x2Ftag\x2F.*?\x3E(?P<tag>.*?)\x3C", tagsg, re.DOTALL):
                tags.append(m.group('tag'))
        
        comm.moviepoint['group']='db'
        comm.moviepoint['title']=title
        comm.moviepoint['thumbnail']=thumb

        menus.append({'label':'[COLOR FFFF2222]简介:[/COLOR]%s'%summary,
                    'path':  plugin.url_for('dbsummary', summary=six.ensure_binary(summary)),
                    'thumbnail':thumb})

        menus.append({'label':comm.colorize_label('预告片',None,color='32FF94') ,
                    'path':  plugin.url_for('dbclips', subject=subject),
                    'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'movies.png') )})
        menus.append({'label':comm.colorize_label('剧照',None,color='32FF94') ,
                    'path':  plugin.url_for('dbphotos', subject=subject,pictype='S',page=0),
                    'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'picture.png') )})
        strlist=[]
        strlist.append(title)
        strlist.append(title+' '+year)
        if title2!='':
            strlist.append(title2+' '+year)
        for aka in names:
            if aka.find('(')>=0 and  aka.find(')')>=0:
                aka=aka.replace(aka[ aka.find('('):aka.find(')')+1],'')
            strlist.append(aka+' '+year)
        #去重
        news_strlist = list(set(strlist))
        news_strlist.sort(key=strlist.index)
        
        for sstr in news_strlist:
            '''
            context_menu_items=[]
            context_menu_items.append(('搜索'+colorize_label(sstr, color='00FF00'), 
                'RunPlugin('+plugin.url_for('searchinit',stypes='pan,bt',sstr=six.ensure_binary(sstr),modify='1',otherargs='{}')+')',))
            listitem=ListItem(label='BT:[COLOR FF00FFFF]%s[/COLOR]' % (six.ensure_text(sstr)),
                label2=None, icon=None,
                thumbnail=xbmc.translatePath( os.path.join( IMAGES_PATH, 'magnet.png') ),
                path=plugin.url_for('btsearchInit', sstr=six.ensure_binary(sstr), modify='0',ext=comm.moviepoint))
            if len(context_menu_items)>0 and listitem!=None:
                listitem.add_context_menu_items(context_menu_items)
                menus.append(listitem)
            '''
            menus.append(ListItem(label='搜索:[COLOR FF00FFFF]%s[/COLOR]' % (six.ensure_text(sstr)),
                label2=None, icon=None,
                thumbnail=xbmc.translatePath( os.path.join( IMAGES_PATH, 'disksearch.png') ),
                path=plugin.url_for('searchinit',stypes='pan,bt',sstr=six.ensure_binary(sstr),modify='1',otherargs='{}')))

        
        for cast in celes:
            thumb=cast['img']
            cast['name']+' '+cast['role']
            
            menus.append({'label': '[COLOR FFFF66AA]%s[/COLOR]%s' % (cast['name'],cast['role']),
                    'path':  plugin.url_for('dbactor', sstr=six.ensure_binary(cast['id']),sort='time',page=0),
                    'context_menu':[('搜索'+colorize_label(cast['name'], color='00FF00'), 
                        'RunPlugin('+plugin.url_for('searchinit',stypes='pan,bt,db',sstr=six.ensure_binary(cast['name']),modify='1',otherargs='{}')+')',)],
                    'thumbnail':thumb})
        
        menus.append({'label': '年代:[COLOR FF00AAFF]%s[/COLOR]' % (year),'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'tag.png') ),
                    'path':  plugin.url_for('dbmovie',tags=six.ensure_binary(year),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
        for genre in genres:
            menus.append({'label': '类型:[COLOR FF00AAFF]%s[/COLOR]' % (genre),'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'tag.png') ),
                    'path':  plugin.url_for('dbmovie',tags=six.ensure_binary(genre),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
        for area in areas:
            menus.append({'label': '地区:[COLOR FF00AAFF]%s[/COLOR]' % (area),'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'tag.png') ),
                    'path':  plugin.url_for('dbmovie',tags=six.ensure_binary(area),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
        for tag in tags:
            menus.append({'label': '标签:[COLOR FF00AAFF]%s[/COLOR]' % (tag),'thumbnail':xbmc.translatePath( os.path.join( IMAGES_PATH, 'tag.png') ),
                    'path':  plugin.url_for('dbmovie',tags=six.ensure_binary(tag),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
        '''
        rsp = _http('https://movie.douban.com/subject/'+subject+'/',referer='https://www.douban.com/link2/')
        for match in re.finditer('[\x22\x27]\x2Ftag\x2F(?P<tag>.*?)[\x22\x27]', rsp, re.DOTALL | re.IGNORECASE):
            menus.append({'label': '标签:[COLOR FF00AAFF]%s[/COLOR]' % (match.group('tag')),
                    'path':  plugin.url_for('dbmovie',tags=match.group('tag'),sort='U',page='0',addtag='0',scorerange='0',year_range='0'),
                    'thumbnail':thumb})
        '''
        return menus
    except Exception as e:
        xbmc.log(msg=format_exc(),level=xbmc.LOGERROR)
        plugin.log.error(str(e))
        return
示例#6
0
def dbsubject(subject):
	menus=[]
	try:
		rsp = _http('https://api.douban.com/v2/movie/subject/'+subject+'?apikey=0b2bdeda43b5688921839c8ecb20399b',referer='https://www.douban.com/link2/')
		
		#plugin.notify('ok')
		rsp=rsp[rsp.index('{'):]
		#plugin.log.error(rsp)
		minfo = json.loads(rsp[rsp.index('{'):])
		
		year=minfo['year']
		
		comm.moviepoint['group']='db'
		comm.moviepoint['title']=minfo['title']
		comm.moviepoint['thumbnail']=minfo['images']['large'].decode('utf-8')
		
		#summary =''
		#for s,i in enumerate(re.findall(ur'([^\n]{1,28})', minfo['summary'])):
		#	summary=summary+i+'\r\n'
		
		
		#xbmc.log(plugin.url_for('dbsummary', summary=minfo['summary'].encode('utf-8')))
		menus.append({'label':'[COLOR FFFF2222]简介:[/COLOR]%s'%minfo['summary'].encode('utf-8'),
					'path':  plugin.url_for('dbsummary', summary=minfo['summary'].encode('utf-8')),
					'thumbnail':minfo['images']['large'].decode('utf-8')})
		clipandphotos['clips']=[]
		clipandphotos['photos']=[]
		if minfo.has_key('clips'):
			clipandphotos['clips'].extend(minfo['clips'])
		
		if minfo.has_key('bloopers'):
			clipandphotos['clips'].extend(minfo['bloopers'])
		
		if minfo.has_key('photos'):
			clipandphotos['photos'].extend(minfo['photos'])
		

		menus.append({'label':comm.colorize_label('预告片和图片',None,color='32FF94') ,
					'path':  plugin.url_for('dbtrailer'),
					'thumbnail':xbmc.translatePath( os.path.join( __cwd__, 'movies.png') ).decode('utf-8')})
		strlist=[]
		strlist.append(minfo['title'])
		strlist.append(minfo['title']+' '+year)
		if minfo.has_key('original_title'):
			#strlist.append(minfo['original_title'])
			strlist.append(minfo['original_title']+' '+year)
		if minfo.has_key('aka'):
			for aka in minfo['aka']:
				if aka.find('(')>=0 and  aka.find(')')>=0:
					aka=aka.replace(aka[ aka.find('('):aka.find(')')+1],'')
				#strlist.append(aka)
				strlist.append(aka+' '+year)
		#去重
		news_strlist = list(set(strlist))
		news_strlist.sort(key=strlist.index)
		
		for sstr in news_strlist:
			context_menu_items=[]
			context_menu_items.append(('搜索'+colorize_label(sstr.encode('UTF-8'), color='00FF00'), 
				'RunPlugin('+plugin.url_for('searchinit',stypes='pan,bt',sstr=sstr.encode('UTF-8'),modify='1',otherargs='{}')+')',))
			listitem=ListItem(label='BT:[COLOR FF00FFFF]%s[/COLOR]' % (sstr.encode('utf-8')),
				label2=None, icon=None, thumbnail=xbmc.translatePath( os.path.join( __cwd__, 'magnet.jpg') ).decode('utf-8'),
				path=plugin.url_for('btsearchInit', sstr=sstr.encode('utf-8'), modify='0',ext=comm.moviepoint))
			if len(context_menu_items)>0 and listitem!=None:
				listitem.add_context_menu_items(context_menu_items,False)
				menus.append(listitem)
			
		if minfo.has_key('casts'):
			for cast in minfo['casts']:
				thumb=xbmc.translatePath( os.path.join( __cwd__, 'guest.png') ).decode('utf-8')
				if cast['avatars']:
					if cast['avatars']['medium']:
						thumb=cast['avatars']['medium']
				castname=cast['name'].encode('utf-8')
				
				menus.append({'label': '演员:[COLOR FFFF66AA]%s[/COLOR]' % (castname),
						'path':  plugin.url_for('dbactor', sstr=castname, page=0),
						'context_menu':[('搜索'+colorize_label(castname.encode('UTF-8'), color='00FF00'), 
							'RunPlugin('+plugin.url_for('searchinit',stypes='pan,bt,db',sstr=castname.encode('UTF-8'),modify='1',otherargs='{}')+')',)],
						'thumbnail':thumb})
		if minfo.has_key('directors'):
			for director in minfo['directors']:
				thumb=xbmc.translatePath( os.path.join( __cwd__, 'guest.png') ).decode('utf-8')
				if director['avatars']:
					if director['avatars']['medium']:
						thumb=director['avatars']['medium']
				directorname=director['name'].encode('utf-8')
				menus.append({'label': '导演:[COLOR FFFFAA66]%s[/COLOR]' % (directorname),
						'path':  plugin.url_for('dbactor', sstr=directorname, page=0),
						'context_menu':[('搜索'+colorize_label(directorname.encode('UTF-8'), color='00FF00'), 
							'RunPlugin('+plugin.url_for('searchinit',stypes='pan,bt,db',sstr=directorname.encode('UTF-8'),modify='1',otherargs='{}')+')',)],
						'thumbnail':thumb})
		if minfo.has_key('year'):
			menus.append({'label': '年代:[COLOR FF00AAFF]%s[/COLOR]' % (minfo['year']),
					'path':  plugin.url_for('dbmovie',tags=minfo['year'],sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
		if minfo.has_key('genres'):
			for genres in minfo['genres']:
				menus.append({'label': '类型:[COLOR FF00AAFF]%s[/COLOR]' % (str(genres)),
						'path':  plugin.url_for('dbmovie',tags=str(genres),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
		if minfo.has_key('countries'):
			for country in minfo['countries']:
				menus.append({'label': '国家:[COLOR FF00AAFF]%s[/COLOR]' % (str(country)),
						'path':  plugin.url_for('dbmovie',tags=str(country),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
		if minfo.has_key('tags'):
			for tag in minfo['tags']:
				menus.append({'label': '标签:[COLOR FF00AAFF]%s[/COLOR]' % (str(tag)),
						'path':  plugin.url_for('dbmovie',tags=str(tag),sort='U',page='0',addtag='0',scorerange='0',year_range='0')})
		'''
		rsp = _http('https://movie.douban.com/subject/'+subject+'/',referer='https://www.douban.com/link2/')
		for match in re.finditer('[\x22\x27]\x2Ftag\x2F(?P<tag>.*?)[\x22\x27]', rsp, re.DOTALL | re.IGNORECASE):
			menus.append({'label': '标签:[COLOR FF00AAFF]%s[/COLOR]' % (match.group('tag')),
					'path':  plugin.url_for('dbmovie',tags=match.group('tag'),sort='U',page='0',addtag='0',scorerange='0',year_range='0'),
					'thumbnail':thumb})
		'''
		return menus
	except Exception,e:
		plugin.log.error(str(e))
		return