Ejemplo n.º 1
0
 def export(self):
     """
     """
     logger.debug("Begin RSS Export:")
     db = CrawlDB()
     rep = Pattern()
     for pat in db.getPatterns():
         pid = pat["pid"]
         pattern = pat["pattern"]
         description = pat["name"]
         items = []
         for page in db.getPages("where pid=%d limit 10" % pid):
             items.append(self.rssitem % (page["url"],
                                          page["title"],
                                          "",
                                          pattern,
                                          "",
                                          page["url"],
                                          rep.sub(page["content"])))
         itemout = "\n".join(items)
         output = self.rssframe % (pattern,
                                   "http://hjbbs.com/bbs",
                                   description,
                                   "Learning English Tool",
                                   itemout)
         logger.debug("LET %d:\n%s\n" % (pid, output))
         # write out
         fp = open("%slet%d.xml" % (config.RSSDIR, pid), "w")
         fp.write(output.encode('utf8'))
         fp.close()
     logger.debug("End RSS Export.")
Ejemplo n.º 2
0
"""
                mail.sendMail(to, title, content.decode("utf-8"))
    else:
        # send web pages to mail Subscriber
        logger.info("Begin to send email ...")

        pat = Pattern()
        db = CrawlDB()
        pages = db.getPages()
        if pages:
            logger.debug("Fetched %s pages." % (len(pages)))
            for page in pages:
                addrlist = db.getEmailByPid(page["pid"])
                if addrlist:
                    logger.debug("send mail to %s persons..." % (len(addrlist)))
                    content = pat.sub(page["content"])

                    if mail.sendMail(addrlist,
                                     page["title"],
                                     content):
                        db.setUrl(page["url"])
                        logger.info("Page [%s] is sent to %s\n\n%s\n\n" %
                                    (page["title"], ",".join(addrlist),
                                     content))
        else:
            logger.info("no mail is sent")
        logger.info("End to send email.")

    mail.close()

if __name__ == "__main__":