import streamlit as st
from ftplib import FTP

def ftp_listing(host, username, password):
    with FTP(host) as ftp:
        ftp.login(username, password)
        ftp_list = ftp.nlst()
        return ftp_list
    
def main():
    st.title("FTP 서버 파일 및 디렉터리 목록")
    st.write("FTP 서버에 접속하여 파일과 디렉터리 목록을 출력합니다.")

    host = st.text_input("FTP 호스트 정보 입력", "")
    username = st.text_input("아이디: ", "")
    password = st.text_input("FTP 호스트 정보 입력", "", type="password")

    if st.button("FTP 서버 접속"):
        if not all([host, username, password]):
            st.warning("호스트 IP,아이디, 패스워드를 입력하세요.")
        else:
            file_list = ftp_listing(host, username, password)
            if file_list:
                st.success("FTP에 성공적으로 접속 완료")
                st.write("파일 및 디렉터리 목록")
                for item in file_list:
                    st.write(item)
                    
if __name__ == "__main__":
    main()