Como canalizar html para gedit com format / espaçamento?

0

Existe uma maneira de canalizar html para gedit sem perder o espaçamento.

Estou tentando: echo "'+html5template+'" | gedit

A saída é assim:

<!DOCTYPE html><html><head><title></title></head><body></body></html>

Mas eu preciso que seja assim:

<!DOCTYPE html>
<html>
      <head>
            <title></title>
      </head>
      <body>
      </body>
 </html>

O script é assim:

doctype='<!DOCTYPE html>'
html_start='<html>'
header_start='<head>'
header_end='</head>'
body='<body></body>'
html_end='</html>'

meta_data=''

#get page title
meta_data += '<title>'+self.builder.get_object("page_title_entry").get_text()+'</title>'

#build the html template
html5template=doctype+html_start+header_start+meta_data+header_end+body+html_end

#open template with gedit
Popen('echo "'+html5template+'" | gedit', shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=False)
    
por Voidcode 06.07.2012 / 19:38

1 resposta

1

Você não cria nenhum espaçamento no seu código Python, sua saída é exatamente o que seu código Python cria.

Para obter o espaçamento desejado, você pode, por exemplo, substituir

html5template=doctype+html_start+header_start+meta_data+header_end+body+html_end

com

indent='    '    
html5template='\n'.join((doctype,
                        html_start,
                        indent + header_start,
                        indent + indent + meta_data,
                        indent + header_end,
                        indent + body,
                        html_end
                        ))
    
por Florian Diesch 06.07.2012 / 20:10