import os
import pandas as pd

# server_list.txt 파일이 있는 폴더 경로
server_list_folder = '/app/idrac_info/server_list/'  # 실제 경로로 수정
server_list_file = os.path.join(server_list_folder, 'server_list.txt')

# 추출할 .txt 파일들이 있는 폴더 경로
data_files_folder = '/app/idrac_info/mac/'  # 실제 경로로 수정

# server_list.txt 파일에서 파일명을 읽어들임
with open(server_list_file, 'r') as f:
    file_names = f.read().splitlines()

# 각 파일의 내용을 저장할 리스트 생성
data_list = []
index_list = []

# 각 파일을 읽어들여 리스트에 저장
sequence_number = 1
for file_name in file_names:
    file_path = os.path.join(data_files_folder, f'{file_name}.txt')
    if os.path.exists(file_path):
        with open(file_path, 'r') as file:
            lines = file.readlines()
        for line in lines:
            cleaned_line = line.strip().upper()  # 대문자로 변환
            if cleaned_line:  # 빈 라인은 무시
                data_list.append(cleaned_line)
                if len(cleaned_line) == 7:
                    index_list.append(sequence_number)
                    sequence_number += 1
                else:
                    index_list.append('')  # 7자가 아닌 경우 빈 문자열로 유지
            else:
                index_list.append('')  # 빈 라인은 인덱스에도 빈 값으로 유지
    else:
        data_list.append('')
        index_list.append('')  # 파일이 없을 경우 빈 문자열로 유지

# 데이터를 DataFrame으로 변환하여 B열부터 시작하도록 함
df = pd.DataFrame({
    'Index': index_list,
    'Content': data_list
})

# 엑셀 파일로 저장
output_file = '/app/idrac_info/idrac_info/mac_info.xlsx'
df.to_excel(output_file, index=False, header=False)
