juniper-config-to-set/controllers/controller.py

36 lines
1.1 KiB
Python

##########
# IMPORT #
##########
from PyQt5.QtWidgets import QTextEdit, QTextBrowser
from parser import ParserJuniper
__author__ = "rick@gnous.eu"
__licence__ = "GPL3"
class Controller:
def __init__(self, inputText, outputText):
"""
Init the controller
:param inputText QTextEdit: the area where Juniper conf in write
:param outputText QTextBrowser: area where a series of set
command is showed
"""
self.inputText = inputText
self.outputText = outputText
self.parser = ParserJuniper()
def click(self):
"""
Called when the user press the Parse button.
Gets the text of inputText and parse it. Shows the result on
outputText.
"""
self.parser.resetTree()
textToParse = self.inputText.toPlainText()
parsedText = ""
for line in textToParse.splitlines():
textConf = self.parser.parse(line)
if textConf:
parsedText += textConf + "\n"
self.outputText.setText(parsedText)