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
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