|
import argparse
|
|
|
|
|
|
def get_changed_code(target_filepath, line_start, include_signature=False):
|
|
|
|
|
|
selected_lines = []
|
|
offset = 1 if include_signature else 0
|
|
|
|
with open('/testing_files/first_line_after_removed.txt', 'r') as f:
|
|
first_line_after_removed = f.read()
|
|
if first_line_after_removed is None:
|
|
print('First line after removed is None')
|
|
|
|
with open(target_filepath, 'r') as f:
|
|
lines = f.read().split('\n')
|
|
for i in range(line_start - offset, len(lines)):
|
|
if lines[i].strip() == first_line_after_removed.strip():
|
|
break
|
|
selected_lines.append(lines[i])
|
|
text = '\n'.join(selected_lines)
|
|
return text
|
|
|
|
|
|
def copy_changed_code(
|
|
target_filepath, generated_code_filepath, line_start, include_signature=False
|
|
):
|
|
changed_code = get_changed_code(target_filepath, line_start, include_signature)
|
|
with open(generated_code_filepath, 'w') as f:
|
|
f.write(changed_code)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--target_filepath', type=str, required=True)
|
|
parser.add_argument('--generated_code_filepath', type=str, required=True)
|
|
parser.add_argument('--line_start', type=int, required=True)
|
|
parser.add_argument('--include_signature', action='store_true')
|
|
args = parser.parse_args()
|
|
copy_changed_code(
|
|
args.target_filepath,
|
|
args.generated_code_filepath,
|
|
args.line_start,
|
|
args.include_signature,
|
|
)
|
|
|