56 lines
2.9 KiB
Python
56 lines
2.9 KiB
Python
|
||
import sys
|
||
|
||
TARGET_FILE = r"C:\Users\joao.goncalves\Desktop\zabbix-itguys\templates_gold\windows_active_agent\template_windows_gold_ptbr.yaml"
|
||
|
||
# Tuple of (Broken String, Fixed String)
|
||
# Using raw strings for safety
|
||
REPAIRS = [
|
||
(
|
||
r"""description: "⚠️ A velocidade da interface caiu (Ex: 1Gb -> 100Mb).\n\n📉 Impacto: Lentidão na transferência de dados.\n🛠️ Ação: 1. Verifique a categoria do cabo (Cat5e/Cat6). 2. Verifique configurações de Duplex/Speed no switch e servidor.\"""",
|
||
r"""description: "⚠️ A velocidade da interface caiu (Ex: 1Gb -> 100Mb).\n\n📉 Impacto: Lentidão na transferência de dados.\n🛠️ Ação: 1. Verifique a categoria do cabo (Cat5e/Cat6). 2. Verifique configurações de Duplex/Speed no switch e servidor.""""
|
||
),
|
||
(
|
||
r"""description: "⚠️ Uso de banda elevado.\n\n📉 Impacto: A interface atingiu o limite de tráfego. O acesso ao servidor ficará lento e pacotes podem ser descartados.\n🛠️ Ação: 1. Identifique qual processo/usuário está consumindo banda. 2. Avalie necessidade de upgrade de link.\"""",
|
||
r"""description: "⚠️ Uso de banda elevado.\n\n📉 Impacto: A interface atingiu o limite de tráfego. O acesso ao servidor ficará lento e pacotes podem ser descartados.\n🛠️ Ação: 1. Identifique qual processo/usuário está consumindo banda. 2. Avalie necessidade de upgrade de link.""""
|
||
),
|
||
(
|
||
r"""description: "⚠️ Erros de transmissão detectados.\n\n📉 Impacto: Perda de pacotes, retransmissões e lentidão.\n🛠️ Ação: 1. Substitua o cabo de rede. 2. Teste outra porta no switch.\"""",
|
||
r"""description: "⚠️ Erros de transmissão detectados.\n\n📉 Impacto: Perda de pacotes, retransmissões e lentidão.\n🛠️ Ação: 1. Substitua o cabo de rede. 2. Teste outra porta no switch.""""
|
||
)
|
||
]
|
||
|
||
def fix_file():
|
||
print(f"Reading {TARGET_FILE}...")
|
||
try:
|
||
with open(TARGET_FILE, 'r', encoding='utf-8') as f:
|
||
content = f.read()
|
||
except Exception as e:
|
||
print(f"Error reading: {e}")
|
||
return
|
||
|
||
fixed_count = 0
|
||
for broken, fixed in REPAIRS:
|
||
# Check if broken version exists
|
||
# Normalize line endings just in case? Content mostly has \n
|
||
if broken in content:
|
||
print("Found broken block. Fixing...")
|
||
content = content.replace(broken, fixed)
|
||
fixed_count += 1
|
||
else:
|
||
print("Broken block not found (maybe already fixed or whitespace mismatch).")
|
||
# print(f"Looking for:\n{broken!r}")
|
||
|
||
if fixed_count > 0:
|
||
try:
|
||
with open(TARGET_FILE, 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
print(f"Saved fixed file. Fixed {fixed_count} blocks.")
|
||
except Exception as e:
|
||
print(f"Error writing: {e}")
|
||
else:
|
||
print("No repairs needed.")
|
||
|
||
if __name__ == "__main__":
|
||
fix_file()
|