INNER CODE UNIT · Python

parse_pr_labels

bitwarden/android · .github/scripts/label-pr.py:156

def parse_pr_labels(pr_labels_str: str) -> list[str]:
    """Parse PR labels from JSON array string."""
    try:
        labels = json.loads(pr_labels_str)
        if not isinstance(labels, list):
            print("::warning::Failed to parse PR labels: not a list")
            return []
        return [item.get("name") for item in labels if item.get("name")]
    except (json.JSONDecodeError, TypeError) as e:
        print(f"::error::Error parsing PR labels: {e}")
        return []

def get_preserved_labels(pr_labels_str: str) -> list[str]:
    """Get existing PR labels that should be preserved (exclude app: and t: labels)."""
    existing_labels = parse_pr_labels(pr_labels_str)
    print(f"🔍 Parsed PR labels: {existing_labels}")
    preserved_labels = [label for label in existing_labels if not (label.startswith("app:") or label.startswith("t:"))]
    if preserved_labels:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…