Ejemplo n.º 1
0
 def bookStoredOnBookmate(self):
     req = HTTPHandler("BookmateAPICookie")
     booksList = req.getBookmateBooks()
     for book in booksList:
         if (
             book["document"]["title"].encode("utf-8") == self.title
             and book["document"]["authors"].encode("utf-8") == self.author
         ):
             return True
     return False
 def fetchLastStory(self, hashStorage):
     feed = HTTPHandler("tmp/SmartfictionCookie.tmp")
     feedXML = feed.getContent(self.__feedsURL)
     
     feedUpdated = self.feedsUpdateStatus(feedXML)
     if feedUpdated:
         soup = BeautifulSoup(feedXML)
         storyAttrs = soup.rss.channel.item.title.renderContents()
         storyAttrsList = storyAttrs.split(". ")
         
         title = storyAttrsList[0]
         author = storyAttrsList[1]
         storyHash = hashlib.new("ripemd160")
         storyHash.update(storyAttrs)
         hash = storyHash.hexdigest()
         url = soup.rss.channel.item.comments.renderContents()
         
         return {'author': author, 'title': title, 'url': url, 'hash': hash}
     else:
         return False
    def addStoryToBookmate(self):
        lastUploadedStoryHash = self.getLastUploadedStoryHash()

        if lastUploadedStoryHash == self.hash:
            return False
        else:
            bookmateRequest = HTTPHandler("tmp/SmartfictionCookie.tmp")
#            http://smartfiction.ru/prose/bride_and_tiger/#comments
            splitedUrl = self.url.split('#',1)
            
            uploadStatus = bookmateRequest.linkStoryToBookmate(splitedUrl[0])
            
            if uploadStatus:
                if self.bookStoredOnBookmate():
                    self.saveUploadedStoryHash()
                    self.saveFeedHash()
                    return True
                else:
                    return False
            else:
                return False