| @@ -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_()) | |||