Beispiel #1
0
def get_smu_info(smu_id, platform, release):
    rows = []
    smu_loader = SMUInfoLoader(platform, release)
    smu_info = smu_loader.get_smu_info_by_id(smu_id)
    if smu_info is not None:
        row = {}
        row['id'] = smu_info.id
        row['name'] = smu_info.name
        row['status'] = smu_info.status
        row['type'] = smu_info.type
        row['posted_date'] = smu_info.posted_date
        row['ddts'] = smu_info.ddts
        row['description'] = smu_info.description
        row['functional_areas'] = smu_info.functional_areas
        row['impact'] = smu_info.impact
        row['package_bundles'] = smu_info.package_bundles
        row['compressed_image_size'] = str(smu_info.compressed_image_size)
        row['uncompressed_image_size'] = str(smu_info.uncompressed_image_size)
        row['prerequisites'] = smu_info.prerequisites
        row['supersedes'] = smu_info.supersedes
        row['superseded_by'] = smu_info.superseded_by
        row['composite_DDTS'] = smu_info.composite_DDTS
        row['prerequisites_smu_ids'] = ""
        row['supersedes_smu_ids'] = ""
        row['superseded_by_smu_ids'] = ""

        if smu_info.prerequisites != "":
            prereqs = smu_info.prerequisites.split(',')
            for smu in prereqs:
                prereq = smu_loader.get_smu_info(smu)
                row['prerequisites_smu_ids'] = row[
                    'prerequisites_smu_ids'] + prereq.id + ','
            row['prerequisites_smu_ids'] = row['prerequisites_smu_ids'][:-1]

        if smu_info.supersedes != "":
            supersedes = smu_info.supersedes.split(',')
            for smu in supersedes:
                supersedes_info = smu_loader.get_smu_info(smu)
                row['supersedes_smu_ids'] = row[
                    'supersedes_smu_ids'] + supersedes_info.id + ','
            row['supersedes_smu_ids'] = row['supersedes_smu_ids'][:-1]

        if smu_info.superseded_by != "":
            superseded_by = smu_info.superseded_by.split(',')
            for smu in superseded_by:
                supersedes_info = smu_loader.get_smu_info(smu)
                row['superseded_by_smu_ids'] = row[
                    'superseded_by_smu_ids'] + supersedes_info.id + ','
            row['superseded_by_smu_ids'] = row['superseded_by_smu_ids'][:-1]

        rows.append(row)

    return rows
Beispiel #2
0
def get_smu_info(smu_id, platform, release):
    rows = []
    smu_loader = SMUInfoLoader(platform, release)
    smu_info = smu_loader.get_smu_info_by_id(smu_id)
    if smu_info is not None:
        row = {}
        row["id"] = smu_info.id
        row["name"] = smu_info.name
        row["status"] = smu_info.status
        row["type"] = smu_info.type
        row["posted_date"] = smu_info.posted_date
        row["ddts"] = smu_info.ddts
        row["description"] = smu_info.description
        row["functional_areas"] = smu_info.functional_areas
        row["impact"] = smu_info.impact
        row["package_bundles"] = smu_info.package_bundles
        row["compressed_image_size"] = str(smu_info.compressed_image_size)
        row["uncompressed_image_size"] = str(smu_info.uncompressed_image_size)
        row["prerequisites"] = smu_info.prerequisites
        row["supersedes"] = smu_info.supersedes
        row["superseded_by"] = smu_info.superseded_by
        row["composite_DDTS"] = smu_info.composite_DDTS
        row["prerequisites_smu_ids"] = ""
        row["supersedes_smu_ids"] = ""
        row["superseded_by_smu_ids"] = ""

        if smu_info.prerequisites != "":
            prereqs = smu_info.prerequisites.split(",")
            for smu in prereqs:
                prereq = smu_loader.get_smu_info(smu)
                row["prerequisites_smu_ids"] = row["prerequisites_smu_ids"] + prereq.id + ","
            row["prerequisites_smu_ids"] = row["prerequisites_smu_ids"][:-1]

        if smu_info.supersedes != "":
            supersedes = smu_info.supersedes.split(",")
            for smu in supersedes:
                supersedes_info = smu_loader.get_smu_info(smu)
                row["supersedes_smu_ids"] = row["supersedes_smu_ids"] + supersedes_info.id + ","
            row["supersedes_smu_ids"] = row["supersedes_smu_ids"][:-1]

        if smu_info.superseded_by != "":
            superseded_by = smu_info.superseded_by.split(",")
            for smu in superseded_by:
                supersedes_info = smu_loader.get_smu_info(smu)
                row["superseded_by_smu_ids"] = row["superseded_by_smu_ids"] + supersedes_info.id + ","
            row["superseded_by_smu_ids"] = row["superseded_by_smu_ids"][:-1]

        rows.append(row)

    return rows
Beispiel #3
0
def api_get_cco_software_entry(request, name_or_id):
    """
    http://localhost:5000/api/v1/cco/software/AA09694?platform=asr9k_px&release=5.3.3
    name_or_id can be the PIMS ID (e.g., AA09694) or the software name (asr9k-p-4.2.3.CSCut30136)
    """
    validate_url_parameters(request, ['platform', 'release'])

    platform = request.args.get('platform')
    release = request.args.get('release')

    smu_loader = SMUInfoLoader(platform, release)
    if smu_loader.is_valid:
        smu_info = smu_loader.get_smu_info(name_or_id)
        if smu_info:
            return jsonify(**{RESPONSE_ENVELOPE: get_smu_info(smu_info)})
        else:
            # Now search for the ID instead of name
            smu_info = smu_loader.get_smu_info_by_id(name_or_id)
            if smu_info:
                return jsonify(**{RESPONSE_ENVELOPE: get_smu_info(smu_info)})

    return failed_response('Unable to locate {}'.format(name_or_id), return_code=HTTP_NOT_FOUND)
Beispiel #4
0
def api_get_cco_software_entry(request, name_or_id):
    """
    http://localhost:5000/api/v1/cco/software/AA09694?platform=asr9k_px&release=5.3.3
    name_or_id can be the PIMS ID (e.g., AA09694) or the software name (asr9k-p-4.2.3.CSCut30136)
    """
    validate_url_parameters(request, ['platform', 'release'])

    platform = request.args.get('platform')
    release = request.args.get('release')

    smu_loader = SMUInfoLoader(platform, release)
    if smu_loader.is_valid:
        smu_info = smu_loader.get_smu_info(name_or_id)
        if smu_info:
            return jsonify(**{RESPONSE_ENVELOPE: get_smu_info(smu_info)})
        else:
            # Now search for the ID instead of name
            smu_info = smu_loader.get_smu_info_by_id(name_or_id)
            if smu_info:
                return jsonify(**{RESPONSE_ENVELOPE: get_smu_info(smu_info)})

    return failed_response('Unable to locate {}'.format(name_or_id),
                           return_code=HTTP_NOT_FOUND)