Esempio n. 1
0
def feed_register (feed_url, user_id):
    feed_new = False
    
    #app.logger.info ("RSS LINK = " + feed_url) 
    feed = dboper.get_feed_by_rsslink(feed_url) #Check if it's already in the central repository
    if not feed:      ## New feed in the repository  
        feed_new = True                
        d = Feed.parse(feed_url)
        #app.logger.info(d.feed)
        if 'image' in d.feed:
            imgurl = d.feed.image.href
        else:
            imgurl = None
            
        if 'link' in d.feed:
            sitelink = d.feed.link
        else:
            sitelink = None
            
        feed = Feed (name=d.feed.title, rsslink=feed_url, image_url=imgurl,  sitelink=sitelink)
        dboper.add_feed(feed)                           #Add new feed to the repository (if not exist)
        #app.logger.info("NEW FEED: " + feed.name)  
    
    dboper.add_user_feed_by_id(user_id, feed)   #By user_id and not g.user because g object is lost in another thread
    #app.logger.info("ADDING NEW USER FEED: " + feed.name)  
    #if feed_new:                                    #If completely new, load articles 
    app.logger.info("LOADING ARTICLES " )  
    n = dboper.load_new_user_articles(feed, user_id)
    app.logger.info("Fetched: " + str(n))