当前位置: 首页>>代码示例>>Python>>正文


Python ParameterHandler.getValue方法代码示例

本文整理汇总了Python中resources.lib.handler.ParameterHandler.ParameterHandler.getValue方法的典型用法代码示例。如果您正苦于以下问题:Python ParameterHandler.getValue方法的具体用法?Python ParameterHandler.getValue怎么用?Python ParameterHandler.getValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在resources.lib.handler.ParameterHandler.ParameterHandler的用法示例。


在下文中一共展示了ParameterHandler.getValue方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: download

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
    def download(self, siteResult = False):
        from resources.lib.download import cDownload
        import urlresolver
        #oGui = cGui()
        params = ParameterHandler()

        sMediaUrl = params.getValue('sMediaUrl')
        sFileName = params.getValue('sFileName')
        sFileName = params.getValue('sMovieTitle')
        if siteResult:
            sMediaUrl = siteResult['streamUrl']
            if siteResult['resolved']:
                sLink = sMediaUrl
            else:
                sLink = urlresolver.resolve(sMediaUrl)
        else:
            sLink = urlresolver.resolve(sMediaUrl)
        logger.info('call download: ' + sMediaUrl)
        logger.info('file link: ' + str(sLink))
        if self.dialog:
            self.dialog.close()
        if (sLink != False):
            oDownload = cDownload()
            oDownload.download(sLink, 'Stream')
        else:
            #cGui().showError('Download', 'File deleted or Link could not be resolved', 5);
            return False
        return True
开发者ID:badwog1,项目名称:kodi-repo-gaymods,代码行数:30,代码来源:hoster.py

示例2: sendToPyLoad

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
    def sendToPyLoad(self, siteResult = False):
        from resources.lib.handler.pyLoadHandler import cPyLoadHandler
        import urlresolver
        params = ParameterHandler()

        sMediaUrl = params.getValue('sMediaUrl')
        sFileName = params.getValue('MovieTitle')
        if not sFileName:
            sFileName = params.getValue('Title')
        if not sFileName: #nur vorrübergehend
            sFileName = params.getValue('sMovieTitle')
        if not sFileName:
            sFileName = params.getValue('title')

        if siteResult:
            sMediaUrl = siteResult['streamUrl']
            if siteResult['resolved']:
                sLink = sMediaUrl
            else:
                sLink = urlresolver.resolve(sMediaUrl)
        else:
            sLink = urlresolver.resolve(sMediaUrl)   
        try:
            msg = sLink.msg
        except:
            msg = False
        if sLink != False and not msg:
            logger.info('download with pyLoad: ' + sMediaUrl)
            cPyLoadHandler().sendToPyLoad(sFileName,sLink)
            return True
        else:
            cGui().showError('xStream', str(msg), 5)
            return False
开发者ID:badwog1,项目名称:kodi-repo-gaymods,代码行数:35,代码来源:hoster.py

示例3: parseMovieEntrySite

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def parseMovieEntrySite():
    oParams = ParameterHandler()
    sSecurityValue = oParams.getValue('securityCookie')
    if (oParams.exist('sUrl')):
        sUrl = oParams.getValue('sUrl')
        # get movieEntrySite content
        sHtmlContent = __getHtmlContent(sUrl, sSecurityValue)
        sMovieTitle = __createMovieTitle(sHtmlContent)

        bIsSerie = __isSerie(sHtmlContent)
        if (bIsSerie):
            oGui = cGui()
            aSeriesItems = parseSerieSite(sHtmlContent)
            if (len(aSeriesItems) > 0):
                imdbID = oParams.getValue('imdbID')
                for item in aSeriesItems:
                    oGuiElement = cGuiElement(item['title'], SITE_IDENTIFIER, 'showHosters')
                    sShowTitle = sMovieTitle.split('(')[0].split('*')[0]
                    oGuiElement.setMediaType('episode')

                    oParams.addParams({'sUrl':item['url'], 'episode':item['episode'], 'season':item['season'], 'TvShowTitle':sShowTitle})
                    oGui.addFolder(oGuiElement, oParams, bIsFolder = False, iTotal = len(aSeriesItems))
            oGui.setView('episodes')
            oGui.setEndOfDirectory()
        else:
            result = showHosters(sHtmlContent, sMovieTitle)
            return result    
开发者ID:krellsebastian,项目名称:plugin.video.xstream,代码行数:29,代码来源:kinox_to.py

示例4: showEpisodes

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showEpisodes():
    oGui = cGui()
    oParams = ParameterHandler()
    sShowTitle = oParams.getValue('Title')
    sUrl = oParams.getValue('siteUrl')
    sImdb = oParams.getValue('imdbID')    
    sSeason = oParams.getValue('Season')
    
    logger.info("%s: show episodes of '%s' season '%s' " % (SITE_NAME, sShowTitle, sSeason)) 
    
    oRequestHandler = cRequestHandler(sUrl+"/"+sSeason)
    sHtmlContent = oRequestHandler.request();
    data = json.loads(sHtmlContent)
    total = len(data['epi'])
    for episode in data['epi']:
        if episode['german']:
            title = episode['german'].encode('utf-8')
        else:
            title = episode['english'].encode('utf-8')
        guiElement = cGuiElement(str(episode['epi'])+" - "+title, SITE_IDENTIFIER, 'showHosters')
        guiElement.setMediaType('episode')
        guiElement.setSeason(data['season'])
        guiElement.setEpisode(episode['epi'])
        guiElement.setTVShowTitle(sShowTitle)
        guiElement.setThumbnail(URL_COVER % data["series"]["id"])

        #oParams.setParam('EpisodeNr', episode['epi'])
        oParams.setParam('siteUrl',sUrl+"/"+sSeason+"/"+episode['epi'])
        oGui.addFolder(guiElement, oParams, bIsFolder = False, iTotal = total)  
    oGui.setView('episodes')
    oGui.setEndOfDirectory()
开发者ID:nio22,项目名称:plugin.video.xstream,代码行数:33,代码来源:burning_series_org.py

示例5: showHosters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showHosters():
    #oGui = cGui()
	
    oParams= ParameterHandler()
    sTitle = oParams.getValue('Title')	
    sUrl = oParams.getValue('siteUrl')
    
    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request()
    #if not META:
    #    __createInfo(oGui, sHtmlContent, sTitle)
    
    sPattern = '<h3>Hoster dieser Episode(.*?)</ul>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if (aResult[0] == True):
        hosters = []
        sHtmlContent = aResult[1][0]
        sPattern = 'href="([^"]+)">.*?class="icon ([^"]+)"></span> ([^<]+?)</a>'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)
        if (aResult[0] == True):
            for aEntry in aResult[1]:
                hoster = dict()
                hoster['link'] = URL_MAIN + '/' + str(aEntry[0])
                hoster['name'] = str(aEntry[2]).split(' - Teil')[0]
                hoster['displayedName'] = str(aEntry[2])
                hosters.append(hoster)
    hosters.append('getHosterUrl')
    return hosters
开发者ID:Johsnon,项目名称:plugin.video.xstream,代码行数:32,代码来源:burning_series_org.py

示例6: showHosters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showHosters():
    oInputParameterHandler = ParameterHandler()
    sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
    sUrl = oInputParameterHandler.getValue(PARAM_URL_KEY)
    sHtmlContent = cRequestHandler(sUrl).request()
    
    sPattern = 'data-det="([^"]+)"'
    aResult = cParser().parse(sHtmlContent, sPattern)
    results = []

    if not aResult[0]: return results
    # can't handle without changes to requestHandler
    import mechanize, json
    request = mechanize.Request("http://kkiste.to/xhr/link", aResult[1][0])
    request.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
    request.add_header("X-Requested-With","XMLHttpRequest")
    request.add_header('Referer', sUrl)
    request.add_header('Accept', '*/*')
    request.add_header('Host', SITE_NAME.lower())
    request.add_header('Content-Length',len(aResult[1][0]))
    request.add_header('Content-Type','text/plain')
    resp = mechanize.urlopen(request)
    sHtmlContent = resp.read()
    try: items = json.loads(sHtmlContent)
    except: return results
    # multipart stream
    for i, item in enumerate(items) :
        result = {}
        result['streamUrl'] = 'http://www.ecostream.tv/stream/'+item
        result['resolved'] = False
        result['title'] = sMovieTitle + ' part ' +str(i)
        results.append(result)
    return results
开发者ID:Shinoby1992,项目名称:xstream,代码行数:35,代码来源:kkiste_to.py

示例7: getHosters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def getHosters():
    oParams = ParameterHandler()
    sChannelUrl = oParams.getValue('channelUrl')
    sChannelName = oParams.getValue('channelName')
    logger.info('get stream url for URL: ' + sChannelUrl)

    oRequestHandler = cRequestHandler(sChannelUrl)
    oRequestHandler.addHeaderEntry('Referer', URL_MAIN)
    sHtmlContent = oRequestHandler.request();

    hosters = []

    sPattern = "'file': '(.*?)',"
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if aResult[0]:
        sUrl = str(aResult[1])[2:-2]
        logger.info('load channel ' + sChannelName + ' with url ' + sUrl)

        hoster = {}
        hoster['link'] = sUrl
        hoster['name'] = 'streamcloud'  # dummy
        hosters.append(hoster)
    hosters.append('getHosterUrl')
    return hosters
开发者ID:Lokke,项目名称:plugin.video.xstream,代码行数:27,代码来源:megatv_to.py

示例8: showHosters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showHosters():
    params = ParameterHandler()
    sHtmlContent = cRequestHandler(params.getValue('entryUrl')).request()
    aResult = cParser().parse(sHtmlContent, "var[ ]subcats[ ]=[ ](.*?);")
    if not aResult[0]: return []

    hosters = []
    data = json.loads(aResult[1][0])
    sJsonID = params.getValue('sJsonID')
    if not sJsonID:
        sJsonID = data.keys()[0]
    partCount = 1 # fallback for series (because they get no MultiParts)
    if '1' in data[sJsonID]:
        partCount = int(data[sJsonID]['1'])
    for jHoster in data[sJsonID]['links']:
        for jHosterEntry in data[sJsonID]['links'][jHoster]:
            if jHosterEntry[5] != 'stream': continue
            hoster = {}
            if partCount > 1:
                hoster['displayedName'] = jHoster + ' - Part ' + jHosterEntry[0]
            hoster['link'] = jHosterEntry[3]
            hoster['name'] = jHoster
            hosters.append(hoster)

    if len(hosters) > 0:
        hosters.append('getHosterUrl')
    return hosters
开发者ID:Shinoby1992,项目名称:xstream,代码行数:29,代码来源:ddl_me.py

示例9: showHosters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showHosters():
    params = ParameterHandler()
    imdbID = params.getValue('itemID')
    lang = params.getValue('lang')
    if not imdbID or not lang: return

    hosters = []
    for sLang in re.compile('(\w+)-').findall(lang):
        oResponse = _getJSonResponse(URL_LINKS, {'ID':imdbID,'lang':sLang} )
        if 'links' not in oResponse or len(oResponse['links']) == 0:
            return

        for aEntry in oResponse['links']:
            hoster = dict()
            if oResponse['links'][aEntry][0].upper() in QUALITY_ENUM:
                hoster['quality'] = QUALITY_ENUM[oResponse['links'][aEntry][0]]
            hoster['link'] = URL_OUT % oResponse['links'][aEntry][1]
            hoster['name'] = aEntry
            hoster['displayedName'] = '%s (%s) - Quality: %s' % (aEntry, sLang, oResponse['links'][aEntry][0])
            hosters.append(hoster)

    if hosters:
        hosters = sorted(hosters, key=lambda k: k['name']) #sort by hostername
        hosters.append('play')
    return hosters
开发者ID:StoneOffStones,项目名称:plugin.video.xstream,代码行数:27,代码来源:cine_to.py

示例10: showEpisodes

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showEpisodes():
    oGui = cGui()


    oParams = ParameterHandler()
    sSeason = oParams.getValue('season')
    sMovieTitle = oParams.getValue('sMovieTitle')
    sMovie = oParams.getValue(PARAM_MOVIESEGMENT_KEY).replace(".html","/")
    sUrl = URL_SERIES_EPISODEURL + sMovie
    oRequest = cRequestHandler(sUrl)
    #oRequest.setHeaderEntry("Accept","application/json, text/javascript, */*; q=0.01")
    oRequest.addParameters("season",sSeason)
    oRequest.addHeaderEntry("X-Requested-With","XMLHttpRequest")
    oRequest.addHeaderEntry('Referer', sUrl)
    oRequest.addHeaderEntry('Accept', '*/*')
    oRequest.addHeaderEntry('Host', SITE_NAME.lower())
    sHtmlContent = oRequest.request()
    aData = sorted(loads(sHtmlContent)['episodes'])
    for aEntry in aData:
        logger.info(aEntry['episode'])
        oGuiElement = cGuiElement()
        oGuiElement.setFunction('_playEpisode')
        oGuiElement.setSiteName(SITE_IDENTIFIER)
        oGuiElement.setTitle(sMovieTitle + '- S'+sSeason+'E'+str(aEntry['episode']))
        oOutputParameterHandler = ParameterHandler()
        oOutputParameterHandler.setParam('link',aEntry['link'])
        oOutputParameterHandler.setParam('season',sSeason)
        oOutputParameterHandler.setParam('episode',aEntry['episode'])
        oOutputParameterHandler.setParam('sMovieTitle',sMovieTitle)
        oOutputParameterHandler.setParam(PARAM_URL_KEY,"http://www.ecostream.tv/stream/"+aEntry['link']+".html")
        oGui.addFolder(oGuiElement, oOutputParameterHandler, bIsFolder=False, iTotal = len(aData))

    oGui.setView('episodes')
    oGui.setEndOfDirectory()
开发者ID:Lokke,项目名称:plugin.video.xstream,代码行数:36,代码来源:kkiste_to.py

示例11: showEpisodes

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showEpisodes():
    logger.info('load showEpisodes')
    oParams = ParameterHandler()
    sTitle = oParams.getValue('Title')
    sSeason = oParams.getValue('Season')

    sPattern = 'class="list-group-item".*?<span itemprop="name">Staffel ' + sSeason + ' Episode(?:[\s]*)(.*?)</span>.*?<a class="episode-name" href="(.*?)" title="(.*?)"'

    # request
    sHtmlContent = __getHtmlContent()
    # parse content
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)

    oGui = cGui()
    if (aResult[0] == True):
        for eNr, link, title in aResult[1]:
            guiElement = cGuiElement('Episode %s - %s' % (eNr, title), SITE_IDENTIFIER, 'showHosters')
            guiElement.setMediaType('episode')
            guiElement.setSeason(sSeason)

            # Special fix for non-int episode numbers (like Attack on Titan 13.5)
            # Can't even check this on thetvdb.com, because AOT 13.5 for example is Season 0 Episode 1
            # May I can use "<airsbefore_episode>" and "<airsbefore_season>" for metadata
            if representsInt(eNr):
                guiElement.setEpisode(eNr)

            guiElement.setTVShowTitle(sTitle)

            oParams.setParam('sUrl', link)
            oGui.addFolder(guiElement, oParams, bIsFolder=False)

    oGui.setView('episodes')
    oGui.setEndOfDirectory()
开发者ID:Shinoby1992,项目名称:xstream,代码行数:36,代码来源:seriesever_net.py

示例12: showHosters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showHosters():
    # ParameterHandler erzeugen
    params = ParameterHandler()
    
    # URL Anpassen um die Stream und nicht die Infos zu bekommen
    entryUrl = params.getValue('entryUrl').replace("-info","-stream")

    # Seite abrufen
    sHtmlContent = cRequestHandler(entryUrl).request()

    # Prüfen ob Episoden gefunden werden
    pattern = '<a[^>]*episode="([^"]*)"[^>]*href="([^"]*)"[^>]*>'
    aResult = cParser().parse(sHtmlContent, pattern)

    # Prüfen ob Einträge vorliegen
    if not aResult[0]:
        return

    # Ermitteln ob es sich um eine Serie handelt
    isTvshowEntry = params.getValue('isTvshow')

    # Falls Episoden gefunden worden => Episodenauswahl vorschalten
    if isTvshowEntry == 'True':
        showEpisodes(aResult[1], params)
    else:
        return getHosters(entryUrl)
开发者ID:gu3nter,项目名称:plugin.video.xstream,代码行数:28,代码来源:hdfilme_tv.py

示例13: showEpisodes

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showEpisodes():
    oGui = cGui()
    oParams = ParameterHandler()
    sSecurityValue = oParams.getValue('securityCookie')
    sUrl = oParams.getValue('sUrl')
    seasonNum = oParams.getValue('Season')
    sHtmlContent = __getHtmlContent(sUrl, sSecurityValue)
    sMovieTitle = __createMovieTitle(sHtmlContent)
    result = cParser().parse(sHtmlContent, '<div class="Grahpics">.*?<img src="([^"]+)"')
    thumbnail = URL_MAIN + str(result[1][0]) if result[0] else False

    aSeriesItems = parseSerieEpisodes(sHtmlContent, seasonNum)
    if not aSeriesItems[0]: return
    for item in aSeriesItems:
        oGuiElement = cGuiElement(item['title'], SITE_IDENTIFIER, 'showHosters')
        sShowTitle = sMovieTitle.split('(')[0].split('*')[0]
        oGuiElement.setThumbnail(thumbnail)
        oGuiElement.setMediaType('episode')
        oGuiElement.setSeason(item['season'])
        oGuiElement.setEpisode(item['episode'])
        oGuiElement.setTVShowTitle(sShowTitle)

        oParams.addParams({'sUrl': item['url'], 'episode': item['episode'], 'season': item['season']})
        oGui.addFolder(oGuiElement, oParams, bIsFolder=False, iTotal=len(aSeriesItems))
    oGui.setView('episodes')
    oGui.setEndOfDirectory()
开发者ID:StoneOffStones,项目名称:plugin.video.xstream,代码行数:28,代码来源:kinox_to.py

示例14: showHostersSeries

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showHostersSeries():
    params = ParameterHandler()
    if params.exist("sUrl") and params.exist("sMovieTitle"):
        sUrl = params.getValue("sUrl")
        sMovieTitle = params.getValue("sMovieTitle")

        sHtmlContent = cRequestHandler(sUrl).request()
        sPattern = '<tr id="tablemoviesindex2".*?<a href="([^"]+)".*? width="16">([^<]+)<'
        aResult = cParser().parse(sHtmlContent.replace("\\", ""), sPattern)
        if aResult[0] == True:
            hosters = []
            previousName = ""
            iMatches = 2
            for aEntry in aResult[1]:
                sHoster = aEntry[1].strip()
                hoster = {}
                hoster["name"] = sHoster
                hoster["link"] = URL_MAIN + "/" + aEntry[0]
                if hoster["name"] == previousName:
                    hoster["displayedName"] = hoster["name"] + " (" + str(iMatches) + ")"
                    iMatches += 1
                else:
                    previousName = hoster["name"]
                    iMatches = 2
                hosters.append(hoster)
            hosters.append("showHoster")
            return hosters
开发者ID:Stockinger,项目名称:plugin.video.xstream,代码行数:29,代码来源:movie4k_to.py

示例15: showCharacters

# 需要导入模块: from resources.lib.handler.ParameterHandler import ParameterHandler [as 别名]
# 或者: from resources.lib.handler.ParameterHandler.ParameterHandler import getValue [as 别名]
def showCharacters():
    logger.info('load showCharacters')
    oGui = cGui()

    oParams = ParameterHandler()
    sSecurityValue = oParams.getValue('securityCookie')
    if oParams.exist('sUrl') and oParams.exist('page') and oParams.exist('mediaType'):
        siteUrl = oParams.getValue('sUrl')
        # iPage = oParams.getValue('page')
        # sMediaType = oParams.getValue('mediaType')
        # request
        sHtmlContent = __getHtmlContent(siteUrl, sSecurityValue)
        # parse content
        sPattern = 'class="LetterMode.*?>([^>]+)</a>'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)

    if aResult[0]:
        for aEntry in aResult[1]:
            oGuiElement = cGuiElement(aEntry, SITE_IDENTIFIER, 'ajaxCall')
            # oOutputParameterHandler = ParameterHandler()
            oParams.setParam('character', aEntry[0])
            # oOutputParameterHandler.addParameter('page', iPage)
            # oOutputParameterHandler.addParameter('mediaType', sMediaType)
            # oOutputParameterHandler.addParameter('securityCookie', sSecurityValue)
            if oParams.exist('mediaTypePageId'):
                sMediaTypePageId = oParams.getValue('mediaTypePageId')
                oParams.setParam('mediaTypePageId', sMediaTypePageId)
            oGui.addFolder(oGuiElement, oParams)

    oGui.setEndOfDirectory()
开发者ID:StoneOffStones,项目名称:plugin.video.xstream,代码行数:33,代码来源:kinox_to.py


注:本文中的resources.lib.handler.ParameterHandler.ParameterHandler.getValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。