import os import streamlit as st from streamlit_option_menu import option_menu from youtube import youtube, download_youtube from pornhub import pornhub from iwara import iwara # from megaDL import mega_dl from rule34 import rule34 from paipancon import paipancon from trailer import trailer from others import * # Navigasi Sidebar options = ['Youtube', 'Pornhub', 'Iwara', 'Mega', 'Rule34', 'Paipancon', 'Trailer', 'Cek Video'] with st.sidebar: selected = option_menu("Video Downloader", options, icons=['play', 'fire', 'star', 'moon','gear', 'house', 'lightning', 'circle'], menu_icon="cast", default_index=7) functions = [youtube, pornhub, iwara, download_youtube, rule34, paipancon, trailer, trailer] if selected: index = options.index(selected) fungsi = functions[index] st.title(f"{selected} Video Downloader and Cutter") st.write(f"Download dan potong sebagian video {selected}.") if selected == 'Youtube' or selected == 'Pornhub': video_link = st.text_input("Link Video", value='https://www.youtube.com/watch?v=tFSfPmqbfKU') resolution = st.selectbox("Pilih Resolusi", (360, 480, 720), 2) elif selected == 'Mega': name = st.text_input("Nama File") video_link = st.text_input("Link Video") elif selected == 'Cek Video': tempat = st.selectbox("Pilih Tempat", ("Hasil Potong", "Hasil Konversi", "Hasil Download"), 2) tempat_path = os.path.join('/home/user/app', tempat) # Buat list untuk menyimpan semua file all_files = [] # Iterasi melalui semua direktori dan sub-direktori for root, dirs, files in os.walk(tempat_path): for file in files: if file.endswith(".mp4"): # Tambahkan path file ke list all_files.append(file) # Buat variabel untuk menyimpan jumlah baris dalam text area num_lines = len(all_files) # Jika tidak ada file dalam direktori if not all_files: st.write('Folder is empty!') else: # Tampilkan semua file dalam text area st.write('Files in directory:', tempat_path) st.text_area("Files", "\n".join(all_files), height=25*num_lines) else: video_link = st.text_input("Link Video") if selected == 'Cek Video': video_file = st.text_input("Pilih File", value='Brandish PV.mp4') video_path = cari_file(video_file, tempat_path) thumbnail_path = cari_file(video_file.replace("mp4", "jpg"), '/home/user/app/Hasil Download') if tempat =="Hasil Potong": choice = 'Potong Video' elif tempat =="Hasil Konversi": choice = 'Compress Video' else: choice = '' if st.button(f"Dapatkan File"): file_size = os.path.getsize(video_path) session("", video_path, thumbnail_path, choice) st.text_input(f"Video '{video_file}' dengan size:", convert_size(file_size)) else: choice = st.radio('Pilih Proses:', ['Potong Video', 'Compress Video', 'Cuma Download'], 2) if choice == 'Potong Video': start_time = st.text_input("Start Time", value='00:07:12.000') end_time = st.text_input("End Time", value='00:07:31.000') if st.button(f"Download and Cut {selected}"): if selected == 'Youtube' or selected == 'Pornhub': video_file, judul_video, video_info, thumbnail_file = fungsi(video_link, resolution) elif selected == 'Mega': video_file, judul_video, video_info, thumbnail_file = fungsi(video_link, name) else: video_file, judul_video, video_info, thumbnail_file = fungsi(video_link) video_file = cut_video(video_file, judul_video, start_time, end_time) file_size = os.path.getsize(video_file) session(video_info, video_file, thumbnail_file, choice) st.text_input(f"Video '{judul_video}' setelah diproses:", convert_size(file_size)) elif choice == 'Compress Video': compress = st.selectbox("Pilih Resolusi Compress", (360, 480, 720), 2) if st.button(f"Download and Compress {selected}"): if selected == 'Youtube' or selected == 'Pornhub': video_file, judul_video, video_info, thumbnail_file = fungsi(video_link, resolution) elif selected == 'Mega': video_file, judul_video, video_info, thumbnail_file = fungsi(video_link, name) else: video_file, judul_video, video_info, thumbnail_file = fungsi(video_link) video_file = convert_videos(compress, video_file) file_size = os.path.getsize(video_file) session(video_info, video_file, thumbnail_file, choice) st.text_input(f"Video '{judul_video}' setelah diproses:", convert_size(file_size)) else: if st.button(f"Download {selected}"): if selected == 'Youtube' or selected == 'Pornhub': video_file, judul_video, video_info, thumbnail_file = fungsi(video_link, resolution) elif selected == 'Mega': video_file, judul_video, video_info, thumbnail_file = fungsi(video_link, name) else: video_file, judul_video, video_info, thumbnail_file = fungsi(video_link) file_size = os.path.getsize(video_file) session(video_info, video_file, thumbnail_file, choice) st.text_input(f"Video '{judul_video}' setelah diproses:", convert_size(file_size))