На основе ответа Martijn Pieters ♦ с регулярным выражением Джеффа .
def escape_ansi(line):
ansi_escape = re.compile(r'(\x9B|\x1B\[)[0-?]*[ -/]*[@-~]')
return ansi_escape.sub('', line)
def test_remove_ansi_escape_sequence(self):
line = '\t\u001b[0;35mBlabla\u001b[0m \u001b[0;36m172.18.0.2\u001b[0m'
escaped_line = escape_ansi(line)
self.assertEqual(escaped_line, '\tBlabla 172.18.0.2')
Если вы хотите запустить его самостоятельно, используйте python3
(лучшая поддержка юникода, blablabla). Вот как должен выглядеть тестовый файл:
import unittest
import re
def escape_ansi(line):
…
class TestStringMethods(unittest.TestCase):
def test_remove_ansi_escape_sequence(self):
…
if __name__ == '__main__':
unittest.main()
Я думаю, вы должны передать тип продажи / покупки в качестве параметра:
{
path: 'sell/:type',
component: SellComponent
},
{
path: 'buy/:type',
component: BuyComponent
}
или, если вы хотите сохранить структуру:
{
path: 'sell-:type',
component: SellComponent
},
{
path: 'buy-:type',
component: BuyComponent
}
И тогда в вашем компоненте получите param от текущего маршрута.