44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
#########################################################
|
|
import os, sys, traceback, subprocess, json, platform
|
|
from framework import app, logger, path_data
|
|
from .file import ToolBaseFile
|
|
|
|
class ToolUtilYaml(object):
|
|
|
|
@classmethod
|
|
def copy_section(cls, source_file, target_file, section_name):
|
|
try:
|
|
if os.path.exists(source_file) == False:
|
|
return 'not_exist_source_file'
|
|
if os.path.exists(target_file) == False:
|
|
return 'not_exist_target_file'
|
|
lines = ToolBaseFile.read(source_file).split('\n')
|
|
section = {}
|
|
current_section_name = None
|
|
current_section_data = None
|
|
|
|
for line in lines:
|
|
line = line.strip()
|
|
if line.startswith('# SECTION START : '):
|
|
current_section_name = line.split(':')[1].strip()
|
|
current_section_data = []
|
|
if current_section_data is not None:
|
|
current_section_data.append(line)
|
|
if line.startswith('# SECTION END'):
|
|
section[current_section_name] = current_section_data
|
|
current_section_name = current_section_data = None
|
|
|
|
if section_name not in section:
|
|
return 'not_include_section'
|
|
|
|
data = '\n'.join(section[section_name])
|
|
source_data = ToolBaseFile.read(target_file)
|
|
source_data = source_data + f"\n{data}\n"
|
|
ToolBaseFile.write(source_data, target_file)
|
|
return 'success'
|
|
except Exception as exception:
|
|
logger.error('Exception:%s', exception)
|
|
logger.error(traceback.format_exc())
|
|
return 'exception'
|