| @@ -1,78 +0,0 @@ | |||||
| import sys | |||||
| from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QLineEdit, QVBoxLayout, QFileDialog, QWidget | |||||
| import firebase_admin | |||||
| from firebase_admin import credentials, storage | |||||
| class VideoUploader(QMainWindow): | |||||
| def __init__(self): | |||||
| super(VideoUploader, self).__init__() | |||||
| # Initialize Firebase Admin SDK | |||||
| cred = credentials.Certificate("/home/knight/Python_Prog/UI/chatbot.json") | |||||
| firebase_admin.initialize_app(cred, {'storageBucket': 'chatbot-402717.appspot.com'}) | |||||
| self.init_ui() | |||||
| def init_ui(self): | |||||
| self.setWindowTitle('Video Uploader') | |||||
| self.setGeometry(100, 100, 400, 200) | |||||
| self.title_label = QLabel('Video Title:', self) | |||||
| self.title_input = QLineEdit(self) | |||||
| self.browse_button = QPushButton('Browse', self) | |||||
| self.upload_button = QPushButton('Upload', self) | |||||
| self.status_label = QLabel(self) | |||||
| layout = QVBoxLayout() | |||||
| layout.addWidget(self.title_label) | |||||
| layout.addWidget(self.title_input) | |||||
| layout.addWidget(self.browse_button) | |||||
| layout.addWidget(self.upload_button) | |||||
| layout.addWidget(self.status_label) | |||||
| widget = QWidget() | |||||
| widget.setLayout(layout) | |||||
| self.setCentralWidget(widget) | |||||
| self.browse_button.clicked.connect(self.browse_video) | |||||
| self.upload_button.clicked.connect(self.upload_video) | |||||
| def browse_video(self): | |||||
| options = QFileDialog.Options() | |||||
| options |= QFileDialog.DontUseNativeDialog | |||||
| file_name, _ = QFileDialog.getOpenFileName(self, "Choose Video File", "", "Video Files (*.mp4 *.mkv *.avi);;All Files (*)", options=options) | |||||
| if file_name: | |||||
| self.video_path = file_name | |||||
| self.status_label.setText(f'Selected video: {file_name}') | |||||
| def upload_video(self): | |||||
| try: | |||||
| title = self.title_input.text() | |||||
| if not title: | |||||
| self.status_label.setText('Please enter a title for the video.') | |||||
| return | |||||
| if not hasattr(self, 'video_path'): | |||||
| self.status_label.setText('Please select a video to upload.') | |||||
| return | |||||
| # Get a reference to the Firebase Storage bucket | |||||
| bucket = storage.bucket() | |||||
| # Upload the video to Firebase Storage within the specified title folder | |||||
| blob = bucket.blob(f'{title}/{title}.mp4') | |||||
| blob.upload_from_filename(self.video_path) | |||||
| print("Video path: ", self.video_path) | |||||
| self.status_label.setText('Video uploaded successfully.') | |||||
| except Exception as e: | |||||
| self.status_label.setText(f'Error: {str(e)}') | |||||
| print (e) | |||||
| if __name__ == '__main__': | |||||
| app = QApplication(sys.argv) | |||||
| window = VideoUploader() | |||||
| window.show() | |||||
| sys.exit(app.exec_()) | |||||