예제 #1
0
def make_wheel_metadata_file(
    name: str,
    version: str,
    value: Defaulted[Optional[AnyStr]],
    tags: Sequence[Tuple[str, str, str]],
    updates: Defaulted[Dict[str, HeaderValue]],
) -> Optional[File]:
    if value is None:
        return None

    path = dist_info_path(name, version, "WHEEL")

    if value is not _default:
        return File(path, ensure_binary(value))

    metadata = CaseInsensitiveDict({
        "Wheel-Version": "1.0",
        "Generator": "pip-test-suite",
        "Root-Is-Purelib": "true",
        "Tag": ["-".join(parts) for parts in tags],
    })

    if updates is not _default:
        metadata.update(updates)

    return File(path, message_from_dict(metadata).as_bytes())
예제 #2
0
def make_metadata_file(
    name: str,
    version: str,
    value: Defaulted[Optional[AnyStr]],
    updates: Defaulted[Dict[str, HeaderValue]],
    body: Defaulted[AnyStr],
) -> Optional[File]:
    if value is None:
        return None

    path = dist_info_path(name, version, "METADATA")

    if value is not _default:
        return File(path, ensure_binary(value))

    metadata = CaseInsensitiveDict({
        "Metadata-Version": "2.1",
        "Name": name,
        "Version": version,
    })
    if updates is not _default:
        metadata.update(updates)

    message = message_from_dict(metadata)
    if body is not _default:
        message.set_payload(body)

    return File(path, message_from_dict(metadata).as_bytes())
예제 #3
0
파일: wheel.py 프로젝트: wai123999/pip
def make_metadata_file(
        name,  # type: str
        version,  # type: str
        value,  # type: Defaulted[Optional[AnyStr]]
        updates,  # type: Defaulted[Dict[str, HeaderValue]]
        body,  # type: Defaulted[AnyStr]
):
    # type: () -> File
    if value is None:
        return None

    path = dist_info_path(name, version, "METADATA")

    if value is not _default:
        return File(path, ensure_binary(value))

    metadata = CaseInsensitiveDict({
        "Metadata-Version": "2.1",
        "Name": name,
        "Version": version,
    })
    if updates is not _default:
        metadata.update(updates)

    message = message_from_dict(metadata)
    if body is not _default:
        message.set_payload(body)

    return File(path, ensure_binary(message_from_dict(metadata).as_string()))