mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
use a tempfile for intermediate html file for pandoc in importer
This commit is contained in:
parent
83a8059d02
commit
11c13ceae1
1 changed files with 34 additions and 36 deletions
|
|
@ -7,6 +7,7 @@ import os
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import tempfile
|
||||||
import time
|
import time
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from html import unescape
|
from html import unescape
|
||||||
|
|
@ -785,9 +786,8 @@ def fields2pelican(
|
||||||
print(out_filename)
|
print(out_filename)
|
||||||
|
|
||||||
if in_markup in ('html', 'wp-html'):
|
if in_markup in ('html', 'wp-html'):
|
||||||
html_filename = os.path.join(output_path, filename + '.html')
|
with tempfile.TemporaryDirectory() as tmpdir:
|
||||||
|
html_filename = os.path.join(tmpdir, 'pandoc-input.html')
|
||||||
with open(html_filename, 'w', encoding='utf-8') as fp:
|
|
||||||
# Replace newlines with paragraphs wrapped with <p> so
|
# Replace newlines with paragraphs wrapped with <p> so
|
||||||
# HTML is valid before conversion
|
# HTML is valid before conversion
|
||||||
if in_markup == 'wp-html':
|
if in_markup == 'wp-html':
|
||||||
|
|
@ -796,7 +796,7 @@ def fields2pelican(
|
||||||
paragraphs = content.splitlines()
|
paragraphs = content.splitlines()
|
||||||
paragraphs = ['<p>{}</p>'.format(p) for p in paragraphs]
|
paragraphs = ['<p>{}</p>'.format(p) for p in paragraphs]
|
||||||
new_content = ''.join(paragraphs)
|
new_content = ''.join(paragraphs)
|
||||||
|
with open(html_filename, 'w', encoding='utf-8') as fp:
|
||||||
fp.write(new_content)
|
fp.write(new_content)
|
||||||
|
|
||||||
if pandoc_version < (2,):
|
if pandoc_version < (2,):
|
||||||
|
|
@ -829,8 +829,6 @@ def fields2pelican(
|
||||||
error = 'Pandoc execution failed: %s' % e
|
error = 'Pandoc execution failed: %s' % e
|
||||||
exit(error)
|
exit(error)
|
||||||
|
|
||||||
os.remove(html_filename)
|
|
||||||
|
|
||||||
with open(out_filename, encoding='utf-8') as fs:
|
with open(out_filename, encoding='utf-8') as fs:
|
||||||
content = fs.read()
|
content = fs.read()
|
||||||
if out_markup == 'markdown':
|
if out_markup == 'markdown':
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue