| #!/usr/bin/env python3 |
| |
| from typing import List |
| |
| from sh import curl # type: ignore |
| |
| ENTERPRISES = { |
| 0: "Reserved", |
| 2: "IBM", |
| 343: "Intel Corporation", |
| 674: "Dell Inc.", |
| 1694: "HCL Technologies Limited", |
| 2487: "Phoenix Technologies Ltd.", |
| 4128: "ARM Ltd.", |
| 6569: "INVENTEC CORPORATION", |
| 7244: "Quanta Computer Inc.", |
| 8554: "Departement Elektrotechnik, ETH Zuerich", |
| 11129: "Google, Inc.", |
| 11183: "Mitac International Corp.", |
| 19046: "Lenovo Enterprise Business Group", |
| 20974: "American Megatrends, Inc", |
| 33049: "Mellanox Technologies LTD", |
| 40092: "Wiwynn Corporation", |
| 40981: "Facebook, Inc.", |
| 42817: "IBM Platform Firmware Division", |
| 45065: "Insyde", |
| 48482: "Linaro Ltd", |
| 48512: "Inspur Group Co.,Ltd.", |
| 49150: "Vertiv Co", |
| 49622: "ASRock Rack Incorporation", |
| 49769: "YADRO", |
| 51974: "Raptor Computing Systems, LLC", |
| 52538: "Ampere Computing", |
| 52893: "Inspur Power Systems Co.,Ltd.", |
| } |
| |
| HEADER = """\ |
| This file has been reduced to entities signing CLAs with OpenBMC |
| https://drive.google.com/drive/folders/1Ooi0RdTcaOWF1DWFJUAJDdN7tRKde7Nl\ |
| """ |
| |
| found_first: bool = False |
| org: List[str] = [] |
| |
| for ln in curl( |
| "-L", "https://www.iana.org/assignments/enterprise-numbers.txt" |
| ).splitlines(): |
| line = ln.rstrip() |
| |
| # Look for Reserved/EN-0 as the start of the data. |
| if "0" == line: |
| found_first = True |
| |
| # Haven't found EN-0, emit as is. |
| if not found_first: |
| print(line) |
| # Look for magic string. |
| if line.startswith("This file is "): |
| print(HEADER) |
| continue |
| |
| # Add line into 'org' set. |
| org.append(line) |
| |
| # Every 4 lines (EN, Org, Contact, Email) make an org. |
| if len(org) == 4: |
| if int(org[0]) in ENTERPRISES: |
| for g in org: |
| print(g) |
| |
| org = [] |