Ejemplo n.º 1
0
    def get(self):
        url = wpfe.BLOG_FEED
        xml = ""
        # recuperation de l'url
        results = db.GqlQuery("SELECT * FROM RSSContent WHERE url = :1", url).fetch(1)
        if not results:
            # url du site
            xml = urlfetch.fetch(url).content

            rsscontent = RSSContent()
            rsscontent.content = unicode(xml, "utf-8", errors="replace")
            rsscontent.url = url
            rsscontent.put()

        else:
            xml = results[0].content
        # parsing du document
        dom = parseString(xml)

        # data
        title = dom.getElementsByTagName("channel")[0].getElementsByTagName("title")[0].childNodes[0].nodeValue
        link = dom.getElementsByTagName("channel")[0].getElementsByTagName("link")[0].childNodes[0].nodeValue
        descr = dom.getElementsByTagName("channel")[0].getElementsByTagName("description")[0].childNodes[0].nodeValue
        pubDa = dom.getElementsByTagName("channel")[0].getElementsByTagName("pubDate")[0].childNodes[0].nodeValue
        lang = dom.getElementsByTagName("channel")[0].getElementsByTagName("language")[0].childNodes[0].nodeValue

        self.response.out.write(title + " " + link + " " + descr + " " + pubDa + " " + lang + "<br />")

        # parsing category
        for cat in dom.getElementsByTagName("channel")[0].getElementsByTagName("category"):
            self.response.out.write("Nom : " + cat.childNodes[0].nodeValue + "<br />")

        # parsing category
        for cat in dom.getElementsByTagName("channel")[0].getElementsByTagName("tag"):
            self.response.out.write("Nom : " + cat.childNodes[0].nodeValue + "<br />")
Ejemplo n.º 2
0
def getFeedUrl(url):
    t = RSSContent.all().filter("url", url).order("-date").fetch(1, 0)
    if t :
        t = t[0]
        if t.date+datetime.timedelta(minutes=wpfe.FEED_REFRESH) > datetime.datetime.today():#si ca date de moins d'un jour on prend de la base sinon, ...
            return t.content
    try:
        t = urlfetch.Fetch(url=url).content
        feed = RSSContent()
        feed.content=t
        feed.url=url
        feed.put()
        return t
    except Exception:
        return None