def on_ask_stop(self,button): """GUI callback for stops preview or recording and closes the Mediapakage""" if self.conf.get_boolean("basic", "stopdialog"): text = {"title" : _("Recorder"), "main" : _("Are you sure you want to\nstop the recording?")} buttons = (Gtk.STOCK_STOP, Gtk.ResponseType.OK, Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT) message.PopUp(message.WARN_STOP, text, context.get_mainwindow(), buttons, self.on_stop_dialog_response, close_before_response_action = self.close_before_response_action)
def launch_error_message(self, error_message): """Shows an active error message.""" text = { "title" : _("Recorder"), "main" : _(" Please review your configuration \nor load another profile"), "text" : error_message } self.error_dialog = message.PopUp(message.ERROR, text, context.get_mainwindow(), None)
def show_next(self, button=None, tipe=None): """GUI callback Pops up the Event Manager""" self.dispatcher.emit("action-audio-disable-msg") text = { 'title': _('Next Recordings'), 'next_recs': self.get_next_recs(), } message.PopUp(message.NEXT_REC, text, context.get_mainwindow()) self.dispatcher.emit("action-audio-enable-msg") return True
def lock(element, text, show): message.PopUp(message.LOCKSCREEN, text, context.get_mainwindow(), None, response_action=on_unlock, close_on_response=False, show=show, close_parent=True) logger.info("Galicaster locked")
def on_help(self, button): """GUI callback to triggers a pop-up when Help button is clicked""" logger.info("Help requested") text = { "title": _("Help"), "main": _(self.help_main_str), "text": _(self.help_text_str) } buttons = None message.PopUp(message.INFO, text, context.get_mainwindow(), buttons)
def shutdown(self, signal): """Pops up a dialog asking to shutdown the computer""" text = { "title": _("Shutdwon"), "main": _("Are you sure you want to SHUTDOWN? "), } buttons = (Gtk.STOCK_QUIT, Gtk.ResponseType.OK, Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT) message.PopUp(message.WARN_QUIT, text, self, buttons, self.on_shutdown_dialog_response)
def info(self, key): """Pops up de MP info dialog""" logger.info("Info: {0}".format(str(key))) text = self.get_mp_info(key) text['title'] = 'Mediapackage Info' message.PopUp(message.MP_INFO, text, context.get_mainwindow(), response_action=self.create_mp_info_response( text['folder']), close_on_response=False)
def on_help(self, button): """Triggers a pop-up when Help button is clicked""" logger.info("Help requested") text = { "title": "Help", "main": " Visit galicaster.teltek.es", "text": " ...or contact us on our community list." } buttons = None message.PopUp(message.INFO, text, context.get_mainwindow(), buttons)
def launch_error_message(self, error_message): """Shows an active error message.""" text = { "title": "Recorder", "main": " Please review your configuration \nor load another profile", "text": error_message } buttons = None logger.error("ERROR: " + error_message) self.error_dialog = message.PopUp(message.ERROR, text, context.get_mainwindow(), buttons)
def close(self, signal): """Pops up a dialog asking to quit""" text = { "title": _("Quit"), "main": _("Are you sure you want to QUIT? "), } buttons = (Gtk.STOCK_QUIT, Gtk.ResponseType.OK, Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT) self.dispatcher.emit("action-audio-disable-msg") message.PopUp(message.WARN_QUIT, text, self, buttons, self.on_close_dialog_response) self.dispatcher.emit("action-audio-enable-msg")
def on_help(self,button): """Triggers a pop-up when Help button is clicked""" logger.info("Help requested") text = {"title" : _("Help"), "main" : _(" Visit galicaster.teltek.es"), "text" : _(" ...or contact us on our community list.") } buttons = None self.dispatcher.emit("disable-no-audio") message.PopUp(message.INFO, text, context.get_mainwindow(), buttons) self.dispatcher.emit("enable-no-audio")
def launch_error_message(self, error_msg=None): """Shows an active error message.""" msg = error_msg or self.recorder.error_msg text = { "title" : _("Recorder"), "main" : _(" Please review your configuration \nor load another profile"), "text" : msg } if self.error_dialog: self.destroy_error_dialog() self.error_dialog = message.PopUp(message.ERROR, text, context.get_mainwindow(), None, self.on_close_error_affirmative)
def play(self, key): """Retrieves mediapackage and send videos to player.""" logger.info("Play: " + str(key)) package = self.repository.get(key) if package.status == mediapackage.RECORDED: self.dispatcher.emit("play-list", package) else: text = { "title": "Media Manager", "main": "This recording can't be played", } buttons = (gtk.STOCK_OK, gtk.RESPONSE_OK) message.PopUp(message.WARNING, text, context.get_mainwindow(), buttons) return True
def on_ask_stop(self,button): """Stops preview or recording and closes the Mediapakage""" self.dispatcher.emit("disable-no-audio") if self.conf.get_boolean("basic", "stopdialog"): text = {"title" : _("Recorder"), "main" : _("Are you sure you want to\nstop the recording?"), } buttons = ( gtk.STOCK_STOP, gtk.RESPONSE_OK, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT) warning = message.PopUp(message.WARNING, text, context.get_mainwindow(), buttons ) self.dispatcher.emit("enable-no-audio") if warning.response not in message.POSITIVE or self.status not in [GC_RECORDING]: return False else: self.on_stop("UI","current")
def on_ask_stop(self, button): """Stops preview or recording and closes the Mediapakage""" if self.conf.get_boolean("basic", "stopdialog"): text = { "title": "Recorder", "main": "Are you sure you want to\nstop the recording?", } buttons = ("Stop", gtk.RESPONSE_OK, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT) warning = message.PopUp(message.WARNING, text, context.get_mainwindow(), buttons) if warning.response not in message.POSITIVE: return False else: self.on_stop("UI", "current")
def delete(self, key, response=None): """Pops up a dialog. If response is positive, deletes a MP.""" self.selected = key package = self.repository.get(key) logger.info("Delete: {0}".format(str(key))) t1 = _("This action will remove the recording from the hard disk.") t2 = _('Recording: "{0}"').format(package.getTitle()) text = { "title": _("Media Manager"), "main": _("Are you sure you want to delete?"), "text": t1 + "\n\n" + t2 } buttons = (Gtk.STOCK_DELETE, Gtk.ResponseType.OK, Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT) message.PopUp(message.WARN_DELETE, text, context.get_mainwindow(), buttons, response)
def on_play(self,store,reference,iterator): """ Retrieve mediapackage and send videos to player""" key = store[iterator][0] logger.info("Play: " + str(key)) package = self.repository.get(key) if package.status == mediapackage.RECORDED: self.dispatcher.emit("play-list", package) else: text = {"title" : _("Media Manager"), "main" : _("This recording can't be played"), } buttons = ( Gtk.STOCK_OK, Gtk.ResponseType.OK ) message.PopUp(message.WARN_OK, text, context.get_mainwindow(), buttons) return True
def close(self, signal): """Pops up a dialog asking to quit""" text = { "title": "Galicaster", "main": "Are you sure you want to QUIT? ", } buttons = (gtk.STOCK_QUIT, gtk.RESPONSE_OK, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT) warning = message.PopUp(message.WARNING, text, self, buttons) if warning.response in message.POSITIVE: log.info("Quit Galicaster") if self.dispatcher: self.dispatcher.emit('galicaster-notify-quit') gtk.main_quit() else: log.info("Cancel Quit")
def shutdown(self, signal): """Pops up a dialog asking to shutdown the computer""" text = {"title" : _("Shutdwon"), "main" : _("Are you sure you want to SHUTDOWN? "), } buttons = ( gtk.STOCK_QUIT, gtk.RESPONSE_OK, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT) warning = message.PopUp(message.WARNING, text, self, buttons) if warning.response in message.POSITIVE: if self.logger: self.logger.info("Shutdown Galicaster") if self.dispatcher: self.dispatcher.emit('galicaster-notify-quit') UtilsShutdown() else: if self.logger: self.logger.info("Cancel Shutdown")
def delete(self,key): """Pops up a dialog. If response is positive, deletes a MP.""" logger.info("Delete: {0}".format(str(key))) package = self.repository.get(key) t1 = _("This action will remove the recording from the hard disk.") t2 = _('Recording: "{0}"').format(package.getTitle()) text = {"title" : _("Media Manager"), "main" : _("Are you sure you want to delete?"), "text" : t1+"\n\n"+t2 } buttons = ( gtk.STOCK_DELETE, gtk.RESPONSE_OK, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT) warning = message.PopUp(message.WARNING, text, context.get_mainwindow(), buttons) if warning.response in message.POSITIVE: self.repository.delete(package) return True else: return False
def show_about_dialog(self, origin, button): """GUI callback Pops up de About Dialog""" text = {"title" : _("About"), "main" : ''} message.PopUp(message.ABOUT, text, context.get_mainwindow())
def show_about(self, button=None, tipe=None): text = {"title": _("About"), "main": ''} message.PopUp(message.ABOUT, text, context.get_mainwindow())
def ingest_question(self, package): """Pops up a question dialog for available operations.""" disabled = not self.conf.get_boolean("ingest", "active") day, night = context.get_worker().get_all_job_types_by_mp(package) jobs = day + night text = { "title": _("Media Manager"), "main": _("Which operation do you want to perform?") } text['text'] = '' if disabled or not self.network: for job in day: if job.lower().count("ingest"): jobs.remove(job) day.remove(job) for job in night: if job.lower().count("ingest"): pass #jobs.remove(job) #night.remove(job) if disabled: text['text'] = text['text'] + _("The ingest service is disabled. ") elif not self.network: text['text'] = text['text'] + _( "Ingest disabled because of network problems. ") for job in day: op_state = package.operation[job.lower().replace(" ", "")] if op_state == mediapackage.OP_DONE: text['text'] = text['text'] + "\n" + _( "{0} already performed").format( OPERATION_NAMES.get(job, job)) elif op_state == mediapackage.OP_NIGHTLY: text['text'] = text['text'] + "\n" + _( "{0} will be performed tonight").format( OPERATION_NAMES.get(job, job)) response_list = [ 'Ingest', # Resp 1 'Ingest Nightly', # Resp 2 'Cancel Ingest Nightly', # Resp 3 'Export to Zip', # Resp 4 'Export to Zip Nightly', # Resp 5 'Cancel Export to Zip Nightly', # Resp 6 'Side by Side', # Resp 7 'Side by Side Nightly', # Resp 8 'Cancel Side by Side Nightly' ] # Resp 9 operations = {} for job in jobs: if job in response_list: operations[job] = response_list.index(job) + 1 operations_dialog = message.PopUp(message.OPERATIONS, text, context.get_mainwindow(), operations) if operations_dialog.response == Gtk.ResponseType.REJECT or \ operations_dialog.response == Gtk.ResponseType.DELETE_EVENT or \ operations_dialog.response == Gtk.ResponseType.OK: return True elif 0 < operations_dialog.response <= len(response_list): chosen_job = response_list[operations_dialog.response - 1].lower().replace(" ", "") if chosen_job.count('nightly'): context.get_worker().do_job_nightly( chosen_job.replace("_", ""), package) else: context.get_worker().do_job(chosen_job, package) return True else: logger.error("Incorrect operation response: {}".format( operations_dialog.response)) return False
def ingest_question(self, package): """Pops up a question dialog for available operations.""" buttons = None disabled = not self.conf.get_boolean("ingest", "active") day, night = context.get_worker().get_all_job_types_by_mp(package) jobs = day + night text = { "title": "Media Manager", "main": "Which operation do you want to perform?" } text['text'] = '' icon = message.QUESTION if disabled: text['text'] = text['text'] + "The ingest service is disabled." if not self.network: text['text'] = text[ 'text'] + "Ingest disabled because of network problems." for job in day: if job.lower().count("ingest"): jobs.remove(job) day.remove(job) for job in night: if job.lower().count("ingest"): pass #jobs.remove(job) #night.remove(job) for job in day: op_state = package.operation[job.lower().replace(" ", "")] if op_state == mediapackage.OP_DONE: text['text'] = "\n" + text['text'] + job + " already perfomed" elif op_state == mediapackage.OP_NIGHTLY: text['text'] = "\n" + text[ 'text'] + job + " will be performed tonight" index = 0 response_dict = {} grouped1 = [] grouped2 = [] for job in day: index += 1 response_dict[index] = job grouped1.append(job) grouped1.append(index) for job in night: index += 1 response_dict[index] = job grouped2.append(job) grouped2.append(index) grouped2.append("Cancel") grouped2.append(0) buttons = tuple(grouped1) buttons2 = tuple(grouped2) if icon == message.QUESTION: icon = "INGEST" warning = message.PopUp(icon, text, context.get_mainwindow(), buttons2, buttons) if warning.response == 0: return True elif warning.response == gtk.RESPONSE_OK: # Warning return True else: chosen_job = response_dict[warning.response].lower().replace( " ", "_") if chosen_job.count('nightly'): context.get_worker().do_job_nightly( chosen_job.replace("_", ""), package) else: context.get_worker().do_job(chosen_job, package) return True