Spaces:
Paused
Paused
| 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)) |