Multi-value resolution result for a platform with different URL types.
| 227 | |
| 228 | @dataclass |
| 229 | class PlatformUrlResolution: |
| 230 | """ |
| 231 | Multi-value resolution result for a platform with different URL types. |
| 232 | """ |
| 233 | |
| 234 | name: str |
| 235 | git_url: Optional[str] = None |
| 236 | zip_url: Optional[str] = None |
| 237 | local_path: Optional[str] = None |
| 238 | version: Optional[str] = None |
| 239 | frameworks: list[str] = field(default_factory=lambda: []) |
| 240 | packages: list[PackageInfo] = field(default_factory=lambda: []) |
| 241 | homepage: Optional[str] = None |
| 242 | |
| 243 | @property |
| 244 | def preferred_url(self) -> Optional[str]: |
| 245 | """Get the preferred URL for downloading (zip preferred for speed).""" |
| 246 | return self.zip_url or self.git_url |
| 247 | |
| 248 | @property |
| 249 | def has_downloadable_url(self) -> bool: |
| 250 | """Check if there's a URL available for downloading.""" |
| 251 | return bool(self.git_url or self.zip_url) |
| 252 | |
| 253 | |
| 254 | @dataclass |
no outgoing calls
no test coverage detected