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