mirror of
https://github.com/netbox-community/devicetype-library.git
synced 2024-12-27 17:39:22 +01:00
46 lines
1.9 KiB
Python
46 lines
1.9 KiB
Python
|
from os import walk, path, rename
|
||
|
import yaml
|
||
|
|
||
|
root_dir = f"{path.dirname(path.realpath(__file__))}/../device-types"
|
||
|
# root_dir = f"{path.dirname(path.realpath(__file__))}/../device-types/Cisco"
|
||
|
|
||
|
total = 0
|
||
|
|
||
|
for root, dirs, files in walk(root_dir):
|
||
|
for file in files:
|
||
|
if file.split(".")[1] == "yaml" or file.split(".")[1] == "yml":
|
||
|
fileChanged = False
|
||
|
if file.split(".")[0].count("_") > 0:
|
||
|
newname = file.replace("_", "-")
|
||
|
rename(f"{root}/{file}", f"{root}/{newname}")
|
||
|
|
||
|
data = []
|
||
|
with open(path.join(root, file), 'r') as stream:
|
||
|
try:
|
||
|
data = stream.readlines()
|
||
|
|
||
|
model = ""
|
||
|
partNumber = ""
|
||
|
|
||
|
for idx, line in enumerate(data):
|
||
|
if "model: " in line:
|
||
|
model = line.split(": ")[1].strip().replace(" ", "-")
|
||
|
if "part_number: " in line:
|
||
|
partNumber = line.split(": ")[1].strip()
|
||
|
|
||
|
fileName = file.split('.')[0].casefold()
|
||
|
regModel = model.replace("sfp+", "sfpp").replace("poe+", "poep").replace("!", "").replace("/", "-").replace("SFP+", "SFPP").replace("POE+", "POEP").replace("!", "").replace("/", "-").replace("PoE+", "PoEP")
|
||
|
modModel = regModel.casefold().replace("'", "").replace("+", "-plus").replace("*", "-")
|
||
|
if modModel not in fileName and partNumber.casefold() not in fileName:
|
||
|
print("------------")
|
||
|
print(regModel.replace("sfp+", "sfpp").replace("poe+", "poep").replace("!", "").replace("/", "-").replace("SFP+", "SFPP").replace("POE+", "POEP").replace("!", "").replace("/", "-").replace("PoE+", "PoEP").replace("+", "-plus").replace("*", "-"))
|
||
|
print(partNumber.casefold())
|
||
|
print(file.casefold())
|
||
|
print("------------")
|
||
|
total = total + 1
|
||
|
|
||
|
except yaml.YAMLError as exc:
|
||
|
print(exc)
|
||
|
stream.close()
|
||
|
|
||
|
print(f"Total Left: {total}")
|