Open vyual opened 1 month ago
maybe we need to add a call code somewhere
def preprocess_mib(file_path):
with open(file_path, "r") as file:
content = file.read()
# change multiline to oneline
content = re.sub(r'"\s*\n\s*"', " ", content)
with open(file_path, "w") as file:
file.write(content)
Please read #429 to see why this repo is no longer in use.
PySNMP incorrectly processes multiline strings when converting MIB files to Python scripts. This results in a SyntaxError due to unterminated string literals in the generated Python file.
Specifically, when a MIB file contains a multiline string (common in fields like CONTACT-INFO), the generated Python script fails to properly format these strings, leading to syntax errors when the script is executed.
Example of problematic MIB content:
This results in a SyntaxError in the generated Python file:
SyntaxError: unterminated string literal (detected at line 15)
Expected behavior: The multiline strings in MIB files should be correctly converted to valid Python multiline strings or concatenated string literals.
Actual behavior: The conversion process results in invalid Python syntax, causing errors when attempting to use the generated Python modules.
This issue significantly impacts the usability of PySNMP for parsing and working with MIB files containing multiline strings.