예제 #1
0
파일: wallbase.py 프로젝트: K-Phoen/Wlppr
 def retrieve(self):
     """
         Récupère un fond d'écran aléatoire
     """
     
     self._reInit()
     
     page_content = RetrieverBase.urlGetContents(self.WALLBASE_URL)
     
     # récupération de l'url de la page du wall
     try:
         url_wall_page = re.compile(self.WALL_PAGE_REGEX).findall(page_content)[0]
     except IndexError:
         return
     
     # exploration de la page du wall pour trouver les infos intéressantes ...
     wall_page = RetrieverBase.urlGetContents(url_wall_page)
     
     try:
         data_title = re.compile(self.TITLE_REGEX).findall(wall_page)[0]
     except IndexError:
         data_title = ''
     
     no, title = self.parseTitle(data_title)
     
     # recherche du lien de téléchargement et de la taille du wall
     try:
         link, size_data = re.compile(self.DL_LINK_REGEX, re.DOTALL).findall(wall_page)[0]
         
         size = size_data.split('/')[1].strip('Wallpaper').strip()
     except IndexError:
         return
     
     self.wlpprs.append(Wlppr(no, title, { size: link }))
예제 #2
0
파일: wlppr.py 프로젝트: K-Phoen/Wlppr
 def retrieve(self):
     """
         Récupère un fond d'écran aléatoire
     """
     
     self._reInit()
     
     page_content = RetrieverBase.urlGetContents(self.WLPPR_URL)
     
     # récupération du titre
     try:
         data_title = re.compile(self.WLPPR_TITLE_REGEX) \
                        .findall(page_content)[0]
     except IndexError:
         data_title = ''
     
     no, title = self.parseTitle(data_title)
     
     # récupération des différentes versions (tailles) du wlppr
     links_zone = re.compile(self.WLPPR_LINKS_ZONE_REGEX) \
                    .findall(page_content)[0]
     links = self.parseLinks(links_zone)
     
     if not len(links) == 0:
         self.wlpprs.append(Wlppr(no, title, links))
예제 #3
0
파일: wlppr.py 프로젝트: K-Phoen/Wlppr
 def retrieve(self):
     """
         Retourne les nb derniers fonds d'écran contenus dans le flux
         du site.
     """
     
     self._reInit()
     
     nb_left = self.NB_ITEMS
     feed_content = RetrieverBase.urlGetContents(self.FEED_URL)
     
     parser = minidom.parseString(feed_content)
     
     for item in parser.getElementsByTagName('entry'):
         if nb_left <= 0:
             break
         
         # récupération du titre
         try:
             data_title = self.getText(item.getElementsByTagName('title')[0])
         except IndexError: # pas de titre spécifié
             data_title = ''
         
         # séparation du numéro du wlppr et du titre en lui-même
         # NB : les titres sont de la forme "Episode #999 : Here is the title"
         no, title = self.parseTitle(data_title)
         
         # récupération des liens
         try:
             data_links = self.getText(item.getElementsByTagName('content')[0])
             links = self.parseLinks(data_links)
         except IndexError: # pas de titre spécifié
             links = {}
         
         if not len(links) == 0:
             self.wlpprs.append(Wlppr(no, title, links))
             
             nb_left -= 1
     
     # on trie les wlpprs selon leur numéro (même si en principe ils 
     # sont déjà triés)
     self.wlpprs.sort(lambda x, y : y .no - x.no)