Как css-код сделать с отступами?

Jinja в коде css видит переменные. Когда начал css-код форматировать(ставить новые строки и табы), то jinja перестал видеть переменные.

Вопрос как бы решаем - взять и отформатировать css-код со всеми отступами и ошибка исчезнет, но там тысячи строк кода. Соответственно вручную это займет большое количество времени.

Могу, конечно написать скрипт на питоне, который отформатирует этот код, но прежде чем начать его делать хочу узнать есть ли уже такое решение?

Если да, то где, чтобы не писать свой обработчик текста. Заранее спасибо.


Ответы (1 шт):

Автор решения: Алексей Белкин

Во-общем, если кому понадобится вот мой обработчик:

with open('css.txt') as file:
   data = file.read()
new_data = ''

def add_tab(count_tab, _str_):
    for i in range(count_tab):
        _str_ += '\t'
    return _str_


count_tab = 0
for char in data:
    if char == '{':
        new_data += '\n'
        new_data = add_tab(count_tab, new_data)
        new_data += char
        new_data += '\n'
        count_tab += 1
        new_data = add_tab(count_tab, new_data)
        continue
    if char == ';':
        new_data += char
        new_data += '\n'
        new_data = add_tab(count_tab, new_data)
        continue
    if char == '}':
        new_data += '\n'
        count_tab -= 1
        new_data = add_tab(count_tab, new_data)
        new_data += char
        new_data += '\n'
        new_data = add_tab(count_tab, new_data)
        continue
    new_data += char
    
with open('new_css.txt', 'w') as file:
    file.write(new_data)
→ Ссылка