Ejemplo n.º 1
0
 def check_user_updates(self, username):
     update_items = []
     dep = None
     try:
         deps = DBSession.query(Deployment).all()
         if len(deps) > 0:
             dep = deps[0]
             user_config_filename = os.path.abspath(tg.config.get('user_config'))
             if not os.path.exists(user_config_filename):
                 user_config_file = open(user_config_filename, 'w')
                 user_config_file.close()
             user_config = PyConfig(filename=user_config_filename)
             date = user_config.get(username)
             if date != None:
                 p_r_date = time.strptime(date, '%Y-%m-%d %H:%M:%S')
                 r_date = datetime(*p_r_date[0:5])
             else:
                 r_date = datetime.now()
             edition = get_product_edition()
             update_items,max_dt = self.get_new_updates(dep.deployment_id, r_date, edition)
             user_config[username] = max_dt
             user_config.write()
         else:
             LOGGER.error('Deployment table is not set.Update can not proceed.')
             return None
     except Exception as ex:
         traceback.print_exc()
         LOGGER.error('Error fetching updates:' + to_str(ex))
         return None
     return update_items
Ejemplo n.º 2
0
    def populate_appliance_feeds(self):
        feeds = {}
        for c, c_info in self.catalogs.iteritems():
            print c, c_info
            if type(c_info) in [types.StringType, types.UnicodeType]:
                url = c_info
        try:
            feed_conf = self.fetch_catalog(c, url)
        except Exception as ex:
            feed_conf = self.get_conf_name(c)
            print "Error getting catalog ", c, url, ex
            print "Continue using the existing data"

        if not os.path.exists(feed_conf):
            print "Skipping : %s does not exist.", feed_conf

        feed = PyConfig(self.local_node, feed_conf)
        for k, v in feed.iteritems():
            feeds[k] = v
        a_feeds = []
        for k in feeds.iteritems():
            a_feed = ApplianceFeed(to_unicode(k))
            a_feed.feed_name = to_unicode(v["feed_name"])
            a_feed.feed_url = to_unicode(v["feed_url"])
            a_feed.provider_logo_url = to_unicode(v["logo_url"])
            a_feed.provider_name = to_unicode(v["provider"])
            a_feed.provider_url = to_unicode(v["provider_url"])
            a_feeds.append(a_feed)

        DBHelper().truncate(ApplianceFeed)
        DBHelper().add_all(a_feeds)
        return a_feeds