def get_all_components_list(p_component=None, p_version=None, p_platform=None): try: c = con.cursor() sql = "SELECT v.component, v.version, v.platform" + \ " FROM versions v " if p_version is None: sql = sql + " WHERE v.is_current = 1 " elif p_version == "all": sql = sql + " WHERE v.is_current >= 0 " if (p_platform is None): sql = sql + " AND " + util.like_pf("v.platform") + " " if p_component: sql = sql + " AND v.component = '" + p_component + "'" if p_version and p_version != "all": sql = sql + " AND v.version = '" + p_version + "'" c.execute(sql) t_comp = c.fetchall() r_comp = [] for comp in t_comp: if p_platform == "all": if comp[2]: platforms = comp[2].split(',') for p in platforms: comp_dict = {} comp_dict['component'] = str(comp[0]) version = str(comp[1]) + "-" + p.strip() comp_dict['version'] = version r_comp.append(comp_dict) else: comp_dict = {} comp_dict['component'] = str(comp[0]) version = str(comp[1]) if comp[2]: if p_platform is None: version = str(comp[1]) + "-" + util.get_pf() else: version = str(comp[1]) + "-" + p_platform comp_dict['version'] = version r_comp.append(comp_dict) else: comp_dict = {} comp_dict['component'] = str(comp[0]) version = str(comp[1]) if comp[2]: if p_platform is None: version = str(comp[1]) + "-" + util.get_pf() else: version = str(comp[1]) + "-" + p_platform comp_dict['version'] = version r_comp.append(comp_dict) except Exception as e: fatal_error(e, sql, "meta.get_all_components_list()") return r_comp
def get_latest_ver_plat(p_comp, p_new_ver=""): try: c = con.cursor() sql = "SELECT version, platform, is_current, release_date \n" + \ " FROM versions \n" + \ " WHERE component = ? \n" + \ " AND " + util.like_pf("platform") + "\n" + \ "ORDER BY 3 DESC, 4 DESC" c.execute(sql, [p_comp]) data = c.fetchone() if data is None: return "-1" except Exception as e: fatal_error(e, sql, "meta.get_latest_ver_plat()") if p_new_ver == "": version = str(data[0]) else: version = p_new_ver platform = str(data[1]) pf = util.get_pf() if platform == "": ver_plat = version else: if pf in platform: ver_plat = version + "-" + pf else: ver_plat = version + "-amd" return (ver_plat)
def get_platform_specific_version(p_comp, p_ver): try: c = con.cursor() sql = "SELECT version, platform FROM versions " + \ " WHERE component = ? " + \ " AND " + util.like_pf("platform") + \ " AND version = ?" c.execute(sql, [p_comp, p_ver]) data = c.fetchone() if data is None: return "-1" except Exception as e: fatal__error(e, sql, "meta.get_platform_specific_version()") version = str(data[0]) platform = str(data[1]) if platform == "": return (version) return (version + "-" + util.get_pf())