Начал реализовывать класс, который отвечает за включение содержимого из других файлов
This commit is contained in:
parent
234dd0b546
commit
db015acedf
|
|
@ -1,5 +1,5 @@
|
|||
class CommentRemover:
|
||||
def processLine(self, line):
|
||||
def processText(self, line):
|
||||
assert line is not None
|
||||
|
||||
newLine = line
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ class MacroResolver:
|
|||
self.macroProcessor = macroProcessor
|
||||
self.valueProvider = valueProvider
|
||||
|
||||
def processLine(self, line):
|
||||
def processText(self, line):
|
||||
assert line is not None
|
||||
|
||||
symbols = self.macroProcessor.getSymbols(line)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
class Stripper:
|
||||
def processLine(self, line):
|
||||
def processText(self, line):
|
||||
assert line is not None
|
||||
|
||||
return line.strip(' \t\n\r')
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
class LineConveyor:
|
||||
class TextConveyorPreprocessor:
|
||||
def __init__(self):
|
||||
self.processors = []
|
||||
|
||||
|
|
@ -7,10 +7,10 @@ class LineConveyor:
|
|||
|
||||
self.processors.append(processor)
|
||||
|
||||
def processLine(self, line):
|
||||
def processText(self, line):
|
||||
assert line is not None
|
||||
|
||||
for processor in self.processors:
|
||||
line = processor.processLine(line)
|
||||
line = processor.processText(line)
|
||||
|
||||
return line
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class TextInclude:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def processText(self, text):
|
||||
pass
|
||||
|
|
@ -42,7 +42,7 @@ class StepsRunner:
|
|||
|
||||
lines = content.splitlines()
|
||||
for line in lines:
|
||||
processedLine = self.lineConveyor.processLine(line)
|
||||
processedLine = self.lineConveyor.processText(line)
|
||||
|
||||
if len(processedLine) == 0:
|
||||
continue
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ class TestCommentRemover(unittest.TestCase):
|
|||
|
||||
def test_startsWithComment(self):
|
||||
line = '# this line is comment'
|
||||
newLine = self.commentRemover.processLine(line)
|
||||
newLine = self.commentRemover.processText(line)
|
||||
|
||||
self.assertEqual('', newLine)
|
||||
|
||||
def test_containsComment(self):
|
||||
line = 'this line contains # a comment'
|
||||
newLine = self.commentRemover.processLine(line)
|
||||
newLine = self.commentRemover.processText(line)
|
||||
|
||||
self.assertEqual('this line contains ', newLine)
|
||||
|
|
@ -21,6 +21,6 @@ class TestMacroResolver(unittest.TestCase):
|
|||
|
||||
def test_resolveLine(self):
|
||||
line = '{@key1} bla {@some_name} version: {@version}'
|
||||
newLine = self.macroResolver.processLine(line)
|
||||
newLine = self.macroResolver.processText(line)
|
||||
|
||||
self.assertEqual('hello world bla another name version: 1.2.3', newLine)
|
||||
|
|
@ -8,6 +8,6 @@ class TestStripper(unittest.TestCase):
|
|||
|
||||
def test_stripLine(self):
|
||||
line = ' \tSome text \t\r\n'
|
||||
newLine = self.stripper.processLine(line)
|
||||
newLine = self.stripper.processText(line)
|
||||
|
||||
self.assertEqual('Some text', newLine)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
import os
|
||||
import argparse
|
||||
from Core.LineConveyor.CommentRemover import CommentRemover
|
||||
from Core.LineConveyor.LineConveyor import LineConveyor
|
||||
from Core.LineConveyor.TextConveyorPreprocessor import TextConveyorPreprocessor
|
||||
from Core.LineConveyor.MacroResolver import MacroResolver
|
||||
from Core.LineConveyor.Stripper import Stripper
|
||||
from commands.ValueProvider import ValueProvider
|
||||
|
|
@ -35,10 +35,12 @@ class TaskRunner:
|
|||
self.valueProvider = ValueProvider()
|
||||
macroResolver = MacroResolver(macroProcessor, self.valueProvider)
|
||||
|
||||
self.lineConveyor = LineConveyor()
|
||||
self.lineConveyor.addProcessor(lineStripper)
|
||||
self.lineConveyor.addProcessor(commentRemover)
|
||||
self.lineConveyor.addProcessor(macroResolver)
|
||||
self.textPreprocessor = TextConveyorPreprocessor()
|
||||
self.textPreprocessor.addProcessor(macroResolver)
|
||||
|
||||
self.linePreprocessor = TextConveyorPreprocessor()
|
||||
self.linePreprocessor.addProcessor(lineStripper)
|
||||
self.linePreprocessor.addProcessor(commentRemover)
|
||||
|
||||
def run(self):
|
||||
rawSettings = self.settingsProvider.fetchSettings()
|
||||
|
|
@ -51,7 +53,7 @@ class TaskRunner:
|
|||
def runConfig(self, config):
|
||||
content = self.getStepsContent(config)
|
||||
|
||||
stepsRunner = StepsRunner(config, self.lineConveyor, self.valueProvider)
|
||||
stepsRunner = StepsRunner(config, self.linePreprocessor, self.valueProvider)
|
||||
stepsRunner.run(content)
|
||||
|
||||
def getStepsContent(self, config):
|
||||
|
|
|
|||
Loading…
Reference in New Issue