Source code for zsl.utils.deploy.integrator

"""
:mod:`zsl.utils.deploy.integrator`
----------------------------------
"""
import os
import tempfile


[docs] def integrate_to_file(what, filename, start_line, end_line): """WARNING this is working every second run.. so serious bug Integrate content into a file withing "line marks" """ try: with open(filename) as f: lines = f.readlines() except IOError: lines = [] tmp_file = tempfile.NamedTemporaryFile(delete=False) lines.reverse() # first copy before start line while lines: line = lines.pop() if line == start_line: break tmp_file.write(line) # insert content tmp_file.write(start_line) tmp_file.write(what) tmp_file.write(end_line) # skip until end line while lines: line = lines.pop() if line == end_line: break # copy rest tmp_file.writelines(lines) tmp_file.close() os.rename(tmp_file.name, filename)