36 lines
1.1 KiB
Python
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)
|