示例#1
0
def parseapiVideos(response):
    if response == False:
        return False
    tree1 = ElementTree(fromstring(response))
    videos = []
    for entry in tree1.getroot().findall('{%s}entry' % atom):
        video = []
        m = entry.find('{%s}content' % media)
        video.append(m.get('url').split('/')[-1])
        name = entry.find('{%s}description' % media).text
        name = name.split('|')[0] + '-' + name.split('|')[1]
        video.append(name)
        turl = [0, 'url']
        for t in entry.findall('{%s}thumbnail' % media):
            url = t.get('url')
            width = t.get('width')
            height = t.get('height')
            w = int(width)
            h = int(height)
            pixels = w * h
            if pixels > turl[0]:
                turl[0] = pixels
                turl[1] = url
        if turl[1] <> 'url':
            video.append(turl[1])
        else:
            video.append('')
        videos.append(video)
    return videos
示例#2
0
def parseapiArtists(response):
    if response == False:
        return False
    tree1 = ElementTree(fromstring(response))
    artists = []
    for entry in tree1.getroot().findall('{%s}entry' % atom):
        artist = []
        artist.append(entry.find('{%s}id' % atom).text)
        artist.append(entry.find('{%s}title' % atom).text)
        turl = [0, 'url']
        for t in entry.findall('{%s}thumbnail' % media):
            url = t.get('url')
            width = t.get('width')
            height = t.get('height')
            w = int(width)
            h = int(height)
            pixels = w * h
            if pixels > turl[0]:
                turl[0] = pixels
                turl[1] = url
        if turl[1] <> 'url':
            artist.append(turl[1])
        else:
            artist.append('')
        artists.append(artist)
    return artists
示例#3
0
def shows():
    url = 'http://www.usanetwork.com/globalNav.xml'
    showsxml = getHTML(url)
    xml = ElementTree(fromstring(showsxml))
    shows = []
    for item in xml.getroot().findall('menu/item')[5]:
        show = []
        show.append(item.get('url'))
        name = item.get('name').title()
        show.append(name)
        if name == 'Burn Notice':
            thumb = 'http://www.usanetwork.com/fullepisodes/images/bn.gif'
        elif name == 'Monk':
            thumb = 'http://www.usanetwork.com/fullepisodes/images/monk.gif'
        elif name == 'Psych':
            thumb = 'http://www.usanetwork.com/fullepisodes/images/psych.gif'
        elif name == 'In Plain Sight':
            thumb = 'http://www.usanetwork.com/fullepisodes/images/ips.gif'
        else:
            thumb = ''
        show.append(thumb)
        shows.append(show)
    #Need better way to get show list missing Starter Wife and couldn't find a feed for Dr Steve-O
    #show = []
    #show.append('http://video.usanetwork.com/player/feeds/?level=743701&type=placement&showall=1')
    #show.append('Starter Wife')
    #show.append('http://www.usanetwork.com/fullepisodes/images/sw.gif')
    #shows.append('show')
    return shows
示例#4
0
    def getHitCount(self):
        """get the number of retrieved pages
		@return int the number of retrieved pages
		"""
        hits = False
        if self.__engine == "tsubaki":
            url = "http://tsubaki.ixnlp.nii.ac.jp/api.cgi?query=%s&only_hitcount=1" % self.__query
            force_dpnd = self.getParameter("force_dpnd")
            if force_dpnd:
                url += "&force_dpnd=" + str(force_dpnd)
            print url
            if self.is_available_caching():
                res = self.runCacheFunc(url)
            else:
                res = urllib.urlopen(url).read()
            if not re.match("^[0-9]+$", res):
                return "error"
            hits = res.rstrip()
        elif self.__engine == "yahoo" or self.__engine == "yahoo2":
            if self.is_available_caching():
                xmlstr = self.runCacheFunc(self.getResultURI(1, 1))
                print xmlstr
                doc = ElementTree(fromstring(xmlstr))
            else:
                url = self.getResultURI(1, 1)
                fd = file(url, "rb")
                doc = ElementTree(file=fd)
            e = doc.getroot()
            hits = e.attrib["totalResultsAvailable"]
        return hits
def loadConfig(account, name):
    if name == 'General':
        c = aMSNConfig()
        c._config = {"ns_server":'messenger.hotmail.com',
                     "ns_port":1863,
                    }
        configpath = os.path.join(account.account_dir, "config.xml")
        try:
            configfile = file(configpath, "r")
        except IOError:
            return c
        root_tree = ElementTree(file=configfile)
        configfile.close()
        config = root_tree.getroot()
        if config.tag == "aMSNConfig":
           lst = config.findall("entry")
           for elmt in lst:
               if elmt.attrib['type'] == 'int':
                   c.setKey(elmt.attrib['name'], int(elmt.text))
               else:
                   c.setKey(elmt.attrib['name'], elmt.text)
        print repr(c._config)
        return c
    else:
        return None
示例#6
0
    def loadAccount(self, email):
        accview = None
        self.createAccountFileTree(email)
        accpath = os.path.join(self.account_dir, "account.xml")
        accfile = file(accpath, "r")
        root_tree = ElementTree(file=accfile)
        accfile.close()
        account = root_tree.getroot()
        if account.tag == "aMSNAccount":
            #email
            emailElmt = account.find("email")
            if emailElmt is None:
                return None
            accview = AccountView(self._core, emailElmt.text)
            #nick
            nickElmt = account.find("nick")
            if nickElmt is None:
                return None
            if nickElmt.text:
                accview.nick.appendText(nickElmt.text)
            #TODO: parse...
            #psm
            psmElmt = account.find("psm")
            if psmElmt is None:
                return None
            if psmElmt.text:
                accview.psm.appendText(psmElmt.text)
            #presence
            presenceElmt = account.find("presence")
            if presenceElmt is None:
                return None
            accview.presence = presenceElmt.text
            #password
            passwordElmt = account.find("password")
            if passwordElmt is None:
                accview.password = None
            else:
                accview.password = passwordElmt.text
            #save_password
            savePassElmt = account.find("save_password")
            if savePassElmt.text == "False":
                accview.save_password = False
            else:
                accview.save_password = True
            #autoconnect
            saveAutoConnect = account.find("autoconnect")
            if saveAutoConnect.text == "False":
                accview.autologin = False
            else:
                accview.autologin = True
            #TODO: use backend & all
            #dp
            dpElmt = account.find("dp")
            #TODO

            #TODO: preferred_ui ?

            accview.save = True

        return accview
示例#7
0
def shows():
        url = 'http://www.usanetwork.com/globalNav.xml'
        showsxml=getHTML(url)
        xml = ElementTree(fromstring(showsxml))
        shows = []
        for item in xml.getroot().findall('menu/item')[5]:
                show = []
                show.append(item.get('url'))
                name = item.get('name').title()
                show.append(name)
                if name == 'Burn Notice':
                        thumb = 'http://www.usanetwork.com/fullepisodes/images/bn.gif'
                elif name == 'Monk':
                        thumb = 'http://www.usanetwork.com/fullepisodes/images/monk.gif'
                elif name == 'Psych':
                        thumb = 'http://www.usanetwork.com/fullepisodes/images/psych.gif'
                elif name == 'In Plain Sight':
                        thumb = 'http://www.usanetwork.com/fullepisodes/images/ips.gif'
                else:
                        thumb = ''
                show.append(thumb)
                shows.append(show)
        #Need better way to get show list missing Starter Wife and couldn't find a feed for Dr Steve-O
        #show = []        
        #show.append('http://video.usanetwork.com/player/feeds/?level=743701&type=placement&showall=1')
        #show.append('Starter Wife')
        #show.append('http://www.usanetwork.com/fullepisodes/images/sw.gif')
        #shows.append('show')
        return shows
示例#8
0
    def load_config(self, account):
        """
        @type account: L{amsn2.core.account_manager.aMSNAccount}
        """
        c = aMSNConfig()
        c.set_key("ns_server", "messenger.hotmail.com")
        c.set_key("ns_port", 1863)

        configpath = os.path.join(self.accounts_dir,
                                  self._get_dir(account.view.email),
                                  "config.xml")
        
        configfile = None
        try:
            configfile = file(configpath, "r")
        except IOError:
            return c

        root_tree = ElementTree(file=configfile)
        configfile.close()
        config = root_tree.getroot()
        if config.tag == "aMSNConfig":
            lst = config.findall("entry")
            for elmt in lst:
                if elmt.attrib['type'] == 'int':
                    c.set_key(elmt.attrib['name'], int(elmt.text))
                else:
                    c.set_key(elmt.attrib['name'], elmt.text)
        return c
示例#9
0
def parseapiArtists(response):
        if response == False:
                return False
        tree1 = ElementTree(fromstring(response))
        artists = []
        for entry in tree1.getroot().findall('{%s}entry' % atom):
                artist = []
                artist.append(entry.find('{%s}id' % atom).text)
                artist.append(entry.find('{%s}title' % atom).text)
                turl = [0,'url']
                for t in entry.findall('{%s}thumbnail' % media):
                        url = t.get('url')
                        width = t.get('width')
                        height = t.get('height')
                        w = int(width)
                        h = int(height)
                        pixels = w*h
                        if pixels > turl[0]:
                                turl[0] = pixels
                                turl[1] = url
                if turl[1] <> 'url':               
                        artist.append(turl[1])
                else:
                        artist.append('')
                artists.append(artist)
        return artists
示例#10
0
def parseapiVideos(response):
        if response == False:
                return False
        tree1 = ElementTree(fromstring(response))
        videos = []
        for entry in tree1.getroot().findall('{%s}entry' % atom):
                video = []
                m = entry.find('{%s}content' % media)
                video.append(m.get('url').split('/')[-1])
                name = entry.find('{%s}description' % media).text
                name = name.split('|')[0] + '-' + name.split('|')[1]
                video.append(name)
                turl = [0,'url']
                for t in entry.findall('{%s}thumbnail' % media):
                        url = t.get('url')
                        width = t.get('width')
                        height = t.get('height')
                        w = int(width)
                        h = int(height)
                        pixels = w*h
                        if pixels > turl[0]:
                                turl[0] = pixels
                                turl[1] = url
                if turl[1] <> 'url':               
                        video.append(turl[1])
                else:
                        video.append('')
                videos.append(video)
        return videos
    def loadAccount(self, email):
        accview = None
        self.createAccountFileTree(email)
        accpath = os.path.join(self.account_dir, "account.xml")
        accfile = file(accpath, "r")
        root_tree = ElementTree(file=accfile)
        accfile.close()
        account = root_tree.getroot()
        if account.tag == "aMSNAccount":
            #email
            emailElmt = account.find("email")
            if emailElmt is None:
                return None
            accview = AccountView(self._core, emailElmt.text)
            #nick
            nickElmt = account.find("nick")
            if nickElmt is None:
                return None
            if nickElmt.text:
                accview.nick.appendText(nickElmt.text)
            #TODO: parse...
            #psm
            psmElmt = account.find("psm")
            if psmElmt is None:
                return None
            if psmElmt.text:
                accview.psm.appendText(psmElmt.text)
            #presence
            presenceElmt = account.find("presence")
            if presenceElmt is None:
                return None
            accview.presence = presenceElmt.text
            #password
            passwordElmt = account.find("password")
            if passwordElmt is None:
                accview.password = None
            else:
                accview.password = passwordElmt.text
            #save_password
            savePassElmt = account.find("save_password")
            if savePassElmt.text == "False":
                accview.save_password = False
            else:
                accview.save_password = True
            #autoconnect
            saveAutoConnect = account.find("autoconnect")
            if saveAutoConnect.text == "False":
                accview.autologin = False
            else:
                accview.autologin = True
            #TODO: use backend & all
            #dp
            dpElmt = account.find("dp")
            #TODO

            #TODO: preferred_ui ?

            accview.save = True

        return accview
示例#12
0
	def getHitCount(self):
		"""get the number of retrieved pages
		@return int the number of retrieved pages
		"""
		hits = False
		if self.__engine == "tsubaki":
			url = "http://tsubaki.ixnlp.nii.ac.jp/api.cgi?query=%s&only_hitcount=1" % self.__query
			force_dpnd = self.getParameter("force_dpnd")
			if force_dpnd:
				url += "&force_dpnd=" + str(force_dpnd)
			print url
			if self.is_available_caching():
				res = self.runCacheFunc(url)
			else:
				res = urllib.urlopen(url).read()
			if not re.match("^[0-9]+$", res):
				return "error"
			hits = res.rstrip()
		elif self.__engine == "yahoo" or self.__engine == "yahoo2":
			if self.is_available_caching():
				xmlstr = self.runCacheFunc(self.getResultURI(1, 1))
				print xmlstr
				doc = ElementTree(fromstring(xmlstr))
			else:
				url = self.getResultURI(1, 1)
				fd = file(url, "rb")
				doc = ElementTree(file=fd)
			e = doc.getroot()
			hits = e.attrib["totalResultsAvailable"]
		return hits
示例#13
0
    def load_config(self, account):
        """
        @type account: L{amsn2.core.account_manager.aMSNAccount}
        """
        c = aMSNConfig()
        c.set_key("ns_server", "messenger.hotmail.com")
        c.set_key("ns_port", 1863)

        configpath = os.path.join(self.accounts_dir,
                                  self._get_dir(account.view.email),
                                  "config.xml")

        configfile = None
        try:
            configfile = file(configpath, "r")
        except IOError:
            return c

        root_tree = ElementTree(file=configfile)
        configfile.close()
        config = root_tree.getroot()
        if config.tag == "aMSNConfig":
            lst = config.findall("entry")
            for elmt in lst:
                if elmt.attrib['type'] == 'int':
                    c.set_key(elmt.attrib['name'], int(elmt.text))
                else:
                    c.set_key(elmt.attrib['name'], elmt.text)
        return c
示例#14
0
def shows():
        url = 'http://www.scifi.com/rewind/playlist.xml'
        showsxml=getHTML(url)
        xml = ElementTree(fromstring(showsxml))
        shows = []
        for item in xml.getroot().findall('series'):
                show = []
                show.append(item.find('id').text)
                show.append(item.find('name').text)
                show.append(baseurl + item.find('thumbnailUrl').text)
                shows.append(show)
        return shows
示例#15
0
def shows():
    url = 'http://www.scifi.com/rewind/playlist.xml'
    showsxml = getHTML(url)
    xml = ElementTree(fromstring(showsxml))
    shows = []
    for item in xml.getroot().findall('series'):
        show = []
        show.append(item.find('id').text)
        show.append(item.find('name').text)
        show.append(baseurl + item.find('thumbnailUrl').text)
        shows.append(show)
    return shows
示例#16
0
def episodes(url):
        rssurl = 'http://video.scifi.com/player/feeds/?level=' + url + '&type=placement&showall=1'
        showsxml=str(getHTML(rssurl))
        tree = ElementTree(fromstring(showsxml))
        feed = RSSWrapper(tree.getroot())
        print "FEED", repr(feed.title)
        episodes = []
        for item in feed:
                episode = []
                url = item.link.replace('&dst=rss|scififullepisode|','')
                episode.append(url)                
                name = item.title.title()
                episode.append(name)
                episode.append('')#Blank thumb right now don't know how to handle : in rss values
                episodes.append(episode)
        return episodes
示例#17
0
def episodes(url):
    rssurl = 'http://video.scifi.com/player/feeds/?level=' + url + '&type=placement&showall=1'
    showsxml = str(getHTML(rssurl))
    tree = ElementTree(fromstring(showsxml))
    feed = RSSWrapper(tree.getroot())
    print "FEED", repr(feed.title)
    episodes = []
    for item in feed:
        episode = []
        url = item.link.replace('&dst=rss|scififullepisode|', '')
        episode.append(url)
        name = item.title.title()
        episode.append(name)
        episode.append(
            ''
        )  #Blank thumb right now don't know how to handle : in rss values
        episodes.append(episode)
    return episodes
示例#18
0
def episodes(url):
        url = baseurl + url
        page = getHTML(url)
        rssurl=re.compile('var _rssURL = "(.+?)";').findall(page)[0].replace('%26','&')
        showsxml=str(getHTML(rssurl))
        tree = ElementTree(fromstring(showsxml))
        feed = RSSWrapper(tree.getroot())
        print "FEED", repr(feed.title)
        episodes = []
        for item in feed:
                episode = []
                url = item.link.replace('&dst=rss|usa|','')
                episode.append(url)                
                name = item.title.title()
                episode.append(name)
                episode.append('')#Blank thumb right now don't know how to handle ':' in rss values
                episodes.append(episode)
        return episodes
示例#19
0
def episodesxml(episodesurl):
        try:
                xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
                episodesurl = episodesurl + 'episodes/init.xml'
                episodesxml=getHTML(episodesurl)
                xml = ElementTree(fromstring(episodesxml))
                for ep in xml.getroot().findall('episodes/episode'):
                        name = ep.find('epiTitle').text
                        epiNumber = ep.find('epiNumber').text
                        smallthumb = ep.find('epiImage').text
                        plot = ep.find('epiDescription').text
                        pid = smallthumb.replace('http://video.nbc.com/nbcrewind2/thumb/','').replace('_large.jpg','')
                        finalname = epiNumber + ' - ' + name
                        mode = 2
                        addLink(finalname,pid,2,smallthumb,plot)

        except:
                addDir('No Episodes','',0,'')
示例#20
0
文件: nbc.py 项目: lukewiersma/redcop
def episodesxml(episodesurl):
    try:
        xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
        episodesurl = episodesurl + 'episodes/init.xml'
        episodesxml = getHTML(episodesurl)
        xml = ElementTree(fromstring(episodesxml))
        for ep in xml.getroot().findall('episodes/episode'):
            name = ep.find('epiTitle').text
            epiNumber = ep.find('epiNumber').text
            smallthumb = ep.find('epiImage').text
            plot = ep.find('epiDescription').text
            pid = smallthumb.replace('http://video.nbc.com/nbcrewind2/thumb/',
                                     '').replace('_large.jpg', '')
            finalname = epiNumber + ' - ' + name
            mode = 2
            addLink(finalname, pid, 2, smallthumb, plot)

    except:
        addDir('No Episodes', '', 0, '')
示例#21
0
def loadConfig(account):
    c = aMSNConfig()
    c.setKey("ns_server", "messenger.hotmail.com")
    c.setKey("ns_port", 1863)
    configpath = os.path.join(account.account_dir, "config.xml")
    try:
        configfile = file(configpath, "r")
    except IOError:
        return c
    configfile = file(configpath, "r")
    root_tree = ElementTree(file=configfile)
    configfile.close()
    config = root_tree.getroot()
    if config.tag == "aMSNConfig":
        lst = config.findall("entry")
        for elmt in lst:
            if elmt.attrib['type'] == 'int':
                c.setKey(elmt.attrib['name'], int(elmt.text))
            else:
                c.setKey(elmt.attrib['name'], elmt.text)
    return c
示例#22
0
def episodes(url):
    url = baseurl + url
    page = getHTML(url)
    rssurl = re.compile('var _rssURL = "(.+?)";').findall(page)[0].replace(
        '%26', '&')
    showsxml = str(getHTML(rssurl))
    tree = ElementTree(fromstring(showsxml))
    feed = RSSWrapper(tree.getroot())
    print "FEED", repr(feed.title)
    episodes = []
    for item in feed:
        episode = []
        url = item.link.replace('&dst=rss|usa|', '')
        episode.append(url)
        name = item.title.title()
        episode.append(name)
        episode.append(
            ''
        )  #Blank thumb right now don't know how to handle ':' in rss values
        episodes.append(episode)
    return episodes
示例#23
0
    def loadAccount(self, dir):
        accview = None
        accpath = os.path.join(dir, "account.xml")
        accfile = file(accpath, "r")
        root_tree = ElementTree(file=accfile)
        accfile.close()
        account = root_tree.getroot()
        if account.tag == "aMSNAccount":
            accview = AccountView()
            #email
            emailElmt = account.find("email")
            if emailElmt is None:
                return None
            accview.email = emailElmt.text
            #nick
            nickElmt = account.find("nick")
            if nickElmt is None:
                return None
            if nickElmt.text:
                accview.nick.appendText(nickElmt.text)
            #TODO: parse...
            #presence
            presenceElmt = account.find("presence")
            if presenceElmt is None:
                return None
            accview.presence = presenceElmt.text
            #password
            passwordElmt = account.find("password")
            if passwordElmt is None:
                return None
            accview.password = self.core._backend_manager.getPassword(passwordElmt)
            #TODO: use backend & all
            #dp
            dpElmt = account.find("dp")
            #TODO

            #TODO: preferred_ui ?

            accview.save = True
        return accview
示例#24
0
 def read(self):
     if self.__path:
         elt = ElementTree(file=self.__path)
         self.from_xml_element(elt.getroot())
示例#25
0
文件: nbc.py 项目: lukewiersma/redcop
def showsxml():
    showsxml = getHTML(showsxml_url)
    xml = ElementTree(fromstring(showsxml))
    for sh in xml.getroot().findall('show'):
        sh.find('name').text
        sh.find('link').text
示例#26
0
 def read(self):
     if self.__path:
         elt = ElementTree(file=self.__path)
         self.from_xml_element(elt.getroot())
示例#27
0
def showsxml():        
        showsxml=getHTML(showsxml_url)
        xml = ElementTree(fromstring(showsxml))
        for sh in xml.getroot().findall('show'):
                sh.find('name').text
                sh.find('link').text