コード例 #1
0
ファイル: rest.py プロジェクト: rubenrua/Galicaster
def quit():
    if not context.get_state().is_recording:
        # Emit quit signal and exit
        gtk.gdk.threads_enter()
        context.get_dispatcher().emit('galicaster-notify-quit')
        gtk.main_quit()
        gtk.gdk.threads_leave()
コード例 #2
0
    def change_selected_profile(self, button):
        model,iterator=self.view.get_selection().get_selected()
        if type(iterator) is Gtk.TreeIter:
            profile=model.get_value(iterator,0)
            context.get_conf().change_current_profile(profile.name)

        context.get_dispatcher().emit("action-reload-profile")
        self.close()
コード例 #3
0
ファイル: profile.py プロジェクト: FihlaTV/Galicaster
    def change_selected_profile(self, button):
        model, iterator = self.view.get_selection().get_selected()
        if type(iterator) is Gtk.TreeIter:
            profile = model.get_value(iterator, 0)
            context.get_conf().change_current_profile(profile.name)

        context.get_dispatcher().emit("action-reload-profile")
        self.close()
コード例 #4
0
ファイル: profile.py プロジェクト: qingke678/galicaster-uib
 def close(self):
     """Handles UI closure, destroying tabs and updating changes"""
     if self.profile:
         self.profile.destroy()
     if self.track:
         self.track.destroy()
     context.get_conf().update()
     context.get_dispatcher().emit("reload-profile")
     self.destroy()          
コード例 #5
0
 def close(self):
     """Handles UI closure, destroying tabs and updating changes"""
     if self.profile:
         self.profile.destroy()
     if self.track:
         self.track.destroy()
     context.get_conf().update()
     context.get_dispatcher().emit("reload-profile")
     self.destroy()          
コード例 #6
0
def main(args):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '-v',
        '--version',
        action='version',
        version='Galicaster {version}'.format(version=__version__))
    parser.parse_args(args=args[1:])
    try:
        Gst.init(None)
        gc = core.Main()

        # Bug with Gtk.main() not raising a KeyboardInterrupt(SIGINT) exception
        # https://bugzilla.gnome.org/show_bug.cgi?id=622084
        # Calling GObject.MainLoop.run() instead could be an option.
        # Sadly, Gtk.main_quit() does not work with it.
        # This workaround will stay until a better solution
        # is found or the bug is fixed.

        def handler(gc):
            print("SIGINT sent. Interrupted by user!")
            gc.quit()

        GLib.unix_signal_add(GLib.PRIORITY_HIGH, 2, handler, gc)  # 2 = SIGINT
        Gtk.main()
    except KeyboardInterrupt:
        gc.emit_quit()
        print("Interrupted by user!")

    except AlreadyRunning as exc:
        #Added custom exception when galicaster it's already running
        msg = "Error starting Galicaster: {0}".format(exc)
        print(msg)

        d = context.get_dispatcher()
        d.emit("quit")
        return -2

    except Exception as exc:
        # debug
        # print traceback.format_exc()

        msg = "Error starting Galicaster: {0}".format(exc)
        print(msg)

        logger = context.get_logger()
        logger and logger.error(msg)

        d = context.get_dispatcher()
        d.emit("quit")
        return -1

    return 0
コード例 #7
0
ファイル: rest.py プロジェクト: polimediaupv/Galicaster
def stop():
    response.content_type = 'text/html'
    state = context.get_state()

    if state.is_recording:
        #Emit the signal to begin the recording
        gtk.gdk.threads_enter()
        context.get_dispatcher().emit('stop-record', 0)
        gtk.gdk.threads_leave()
        return "Signal to stop recording sent"
    else:
        abort(500, "failed to stop the capture, or no current active capture")
コード例 #8
0
ファイル: rest.py プロジェクト: polimediaupv/Galicaster
def start():
    response.content_type = 'text/html'
    state = context.get_state()

    # Already Recording
    if state.is_recording:
        abort(500, "couldn't start capture")
    else:
        gtk.gdk.threads_enter()
        context.get_dispatcher().emit('start-before', None)
        gtk.gdk.threads_leave()
        return "Signal to start recording sent"    
コード例 #9
0
def init():

    ffprobe_version = ''
    videomatch_version = ''

    try:
        ffprobe_version = subprocess.check_output([ffprobe_bin, '-version'])
    except:
        logger.error('Unable to run ffprobe executable: %s', ffprobe_bin)

    try:
        videomatch_version = subprocess.check_output(
            [videomatch_bin, '-version'])
    except:
        logger.error('Unable to run videomatch executable: %s', videomatch_bin)

    if (ffprobe_version.split(' ')[0]
            == 'ffprobe') and (videomatch_version.split(' ')[0]
                               == 'videomatch.pl'):

        logger.info('ffprobe version %s', ffprobe_version.split(' ')[2])
        logger.info('videomatch version %s', videomatch_version.split(' ')[2])

        try:
            dispatcher = context.get_dispatcher()
            dispatcher.connect("operation-started", drop_presentations)
            logger.info("Registered")

        except ValueError:
            logger.info("Error")
            pass

    else:
        logger.warn(
            'ffprobe and/or videomatch not available: plugin will not run')
コード例 #10
0
    def test_cleanstale_plugin(self):
        dispatcher = context.get_dispatcher()
        repo = context.get_repository()
        conf = context.get_conf()
        now = datetime.datetime.utcnow()

        mp = mediapackage.Mediapackage(identifier="1", title='MP#1', date=(now - datetime.timedelta(days=1)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="2", title='MP#2', date=(now - datetime.timedelta(days=30)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="3", title='MP#3', date=(now - datetime.timedelta(days=60)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="4", title='MP#4', date=(now + datetime.timedelta(days=1)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="5", title='MP#5', date=(now + datetime.timedelta(days=30)))
        repo.add(mp)

        
        cleanstale.init()
        
        self.assertEqual(len(repo), 5)
        conf.set('cleanstale','maxarchivaldays', '50')
        dispatcher.emit('galicaster-notify-nightly')
        self.assertEqual(len(repo), 4)
        conf.set('cleanstale','maxarchivaldays', '20')
        dispatcher.emit('galicaster-notify-nightly')
        self.assertEqual(len(repo), 3)
コード例 #11
0
    def __init__(self, bins, players={}):
        """
        Initialize the recorder.
        This class is event-based and needs a mainloop to work properly.

        :param bins: a ``list`` of ``dict`` with name, klass, device and file to record
        :param players: a ``dict`` a gtk.DrawingArea list to use as player.
        """
        #FIXME check the values are dict with the next keys: name, klass/type, dev* and filesink.
        if not isinstance(bins, list):
            raise TypeError(
                '%s: need a %r; got a %r: %r' % ('bins', list,
                                                 type(bins), bins) 
                )
        #FIXME check the values are gtk.DrawingArea
        if not isinstance(players, dict):
            raise TypeError(
                '%s: need a %r; got a %r: %r' % ('players', dict, 
                                                 type(players), players)
                )

        self.dispatcher = context.get_dispatcher() 
        self.bins_desc = bins
        self.players = players
        self.restart = False
        self.mute = False
        self.error = False

        self.pipeline_name = "galicaster_recorder"  
        self.pipeline = gst.Pipeline(self.pipeline_name)
        self.bus = self.pipeline.get_bus()

        self.bins = dict()
        self.callback = None

        self.bus.add_signal_watch()
        self.bus.enable_sync_message_emission()
        #self.bus.connect('message', self.__debug) # TO DEBUG
        self.bus.connect('message::eos', self.__on_eos)
        self.bus.connect('message::error', self.__on_error)        
        self.bus.connect('message::element', self.__on_message_element)
        self.bus.connect('message::state-changed', self.__on_state_changed)
        self.bus.connect('sync-message::element', self.__on_sync_message)

        for bin in bins:
            name = bin['name']

            try:
                mod_name = 'galicaster.recorder.pipeline.' + bin['device']
                __import__(mod_name)
                mod = sys.modules[mod_name]
                Klass = getattr(mod, "GC" + bin['device'])
            except:
                raise NameError(
                    'Invalid track type %s for %s track' % (mod_name, name)
                    )

            log.debug("Init bin %s %s", name, mod_name)
            self.bins[name] = Klass(bin)
            self.pipeline.add(self.bins[name])
コード例 #12
0
def init():
    global conf, logger
    dispatcher = context.get_dispatcher()
    logger = context.get_logger()
    conf = context.get_conf()
    dispatcher.connect('init', show_msg)
    dispatcher.connect('record-finished', show_msg)
コード例 #13
0
    def emit_signal(origin, button, signal, value=None):

        dispatcher = context.get_dispatcher()
        if value != None:
            dispatcher.emit(signal, value)
        else:
            dispatcher.emit(signal)
コード例 #14
0
def init():
    global conf, logger, recorder, dispatcher
    dispatcher = context.get_dispatcher()
    logger = context.get_logger()
    conf = context.get_conf()
    recorder = context.get_recorder()
    dispatcher.connect('init', manage_button)
コード例 #15
0
ファイル: distrib.py プロジェクト: hectorcanto/Galicaster
    def emit_signal(origin, button, signal, value=None):

        dispatcher = context.get_dispatcher()
        if value != None:
            dispatcher.emit(signal,value)
        else:
            dispatcher.emit(signal)
コード例 #16
0
def init():

    global lsPath, metricsTargetName, overviewPicName, sceneName
    lsPath = '/opt/ls/metrics'
    overviewPicName = '/opt/ls/record/overview.png'
    sceneName = '/opt/ls/profiles/overview.scn'

    if not os.path.exists(lsPath):
        logger.info("LectureSight not installed, or metrics not enabled")
        return

    # Target name for the json file in the mediapackage
    metricsTargetName = 'lecturesight-metrics.json'

    logger.info('Start LectureSight plugin: recording metrics from ' + lsPath)

    try:
        dispatcher = context.get_dispatcher()
        dispatcher.connect('recorder-started', lecturesight_start)
        dispatcher.connect('recorder-stopped', add_lecturesight_metrics)
        logger.info("Registered")

    except ValueError:
        logger.info("Error")
        pass
コード例 #17
0
def init():
    global recorder, dispatcher, logger, config, repo

    config = context.get_conf().get_section(CONFIG_SECTION) or {}
    dispatcher = context.get_dispatcher()
    repo = context.get_repository()
    logger = context.get_logger()

    backend = config.get(BACKEND)

    if backend == "onvif":
        global cam
        import galicaster.utils.camctrl_onvif_interface as camera
        # connect to the camera
        cam = camera.AXIS_V5915()
        cam.connect(config.get(IPADDRESS), config.get(PORT, DEFAULT_PORT),
                    config.get(USERNAME), config.get(PASSWORD))
        # initiate the onvif user interface
        dispatcher.connect("init", init_onvif_ui)

    elif backend == "visca":
        global pysca
        import galicaster.utils.pysca as pysca
        # If port is not defined, a None value will make this method fail
        pysca.connect(config.get(PORT_KEY))
        # initiate the visca user interface
        dispatcher.connect("init", init_visca_ui)
    else:
        logger.warn(
            "You have to choose a backend in the config file before starting Galicaster, otherwise the cameracontrol plugin does not work."
        )
        raise RuntimeError("No backend for the cameracontrol plugin defined.")
    logger.info("Camera connected.")
コード例 #18
0
ファイル: cameracontrol.py プロジェクト: sinhote/Galicaster
def init():
    global conf, logger, event_handler, jobs
    dispatcher = context.get_dispatcher()
    conf = context.get_conf()
    logger = context.get_logger()

    path = conf.get('cameracontrol', 'path')
    pysca.connect(path)
    pysca.set_zoom(1, 0)
    pysca.pan_tilt_home(1)
    dispatcher.connect('init', load_ui)
    pysca.osd_off(1)
    logger.info("Cam connected")

    icons = [
        "left", "right", "up1", "down1", "up_right", "up_left", "down_left",
        "down_right", "plus", "minus"
    ]
    icontheme = Gtk.IconTheme()
    for name in icons:
        pixbuf = GdkPixbuf.Pixbuf.new_from_file(get_image_path(name + ".svg"))
        icontheme.add_builtin_icon(name, 20, pixbuf)

    dispatcher.connect("action-key-press", on_key_press)
    dispatcher.connect("action-key-release", on_key_release)

    event_handler = Handler()
    jobs = Queue.Queue()
    t = T(jobs)
    t.setDaemon(True)
    t.start()
コード例 #19
0
ファイル: player.py プロジェクト: samuvlad/Galicaster
    def __init__(self, files, players={}):
        """
        Initialize the player
        This class is event-based and needs a mainloop to work properly.

        :param files: a ``dict`` a file name list to play
        :param players: a ``dict`` a Gtk.DrawingArea list to use as player
        """
        # FIXME comprobar que existen los files sino excepcion
        if not isinstance(files, dict):
            raise TypeError(
                '%s: need a %r; got a %r: %r' % ('files', dict, type(files), files)
            )
        # FIXME check the values are Gtk.DrawingArea
        if not isinstance(players, dict):
            raise TypeError(
                '%s: need a %r; got a %r: %r' % ('players', dict, type(players), players)
            )

        self.dispatcher = context.get_dispatcher()
        self.files = files
        self.players = players
        self.duration = 0
        self.has_audio = False
        self.error = None
        self.pipeline_complete = False
        self.pipeline = None
        self.audio_sink = None

        self.__get_duration_and_run()
コード例 #20
0
    def test_cleanstale_plugin(self):
        dispatcher = context.get_dispatcher()
        repo = context.get_repository()
        conf = context.get_conf()
        now = datetime.datetime.utcnow()

        mp = mediapackage.Mediapackage(identifier="1", title='MP#1', date=(now - datetime.timedelta(days=1)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="2", title='MP#2', date=(now - datetime.timedelta(days=30)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="3", title='MP#3', date=(now - datetime.timedelta(days=60)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="4", title='MP#4', date=(now + datetime.timedelta(days=1)))
        repo.add(mp)
        mp = mediapackage.Mediapackage(identifier="5", title='MP#5', date=(now + datetime.timedelta(days=30)))
        repo.add(mp)


        conf.set('cleanstale','maxarchivaldays', '70')
        cleanstale.init()
        self.assertEqual(len(repo), 5)

        conf.set('cleanstale','maxarchivaldays', '50')
        cleanstale.init()
        dispatcher.emit('timer-nightly')
        self.assertEqual(len(repo), 4)
        conf.set('cleanstale','maxarchivaldays', '20')
        cleanstale.init()
        dispatcher.emit('timer-nightly')
        self.assertEqual(len(repo), 3)
コード例 #21
0
def init():
    global conf, logger, event_handler, jobs, cam_ctrl
    dispatcher = context.get_dispatcher()
    conf = context.get_conf()
    logger = context.get_logger()
    camera = conf.get('cameracontrol', 'camera')

    cam = __import__(camera, globals())
    cam_ctrl = cam.Controls()

    icons = [
        "left", "right", "up1", "down1", "up_right", "up_left", "down_left",
        "down_right", "plus", "minus"
    ]
    icontheme = Gtk.IconTheme()
    for name in icons:
        pixbuf = GdkPixbuf.Pixbuf.new_from_file(get_image_path(name + ".svg"))
        icontheme.add_builtin_icon(name, 20, pixbuf)

    dispatcher.connect('init', load_ui)
    dispatcher.connect("action-key-press", on_key_press)
    dispatcher.connect("action-key-release", on_key_release)

    event_handler = Handler()
    jobs = Queue.Queue()
    t = T(jobs)
    t.setDaemon(True)
    t.start()
コード例 #22
0
    def __init__(self):  
        gtk.Box.__init__(self)
        dbuilder= gtk.Builder()
        dbuilder.add_from_file(get_ui_path('distrib.glade'))
        self.builder = dbuilder
        dbox = dbuilder.get_object("distbox")
        release = dbuilder.get_object("release_label")
        release.set_label("Galicaster "+__version__)

        recorder = dbuilder.get_object("button1")        
        manager = dbuilder.get_object("button2")
        quit_button =  dbuilder.get_object("button3")
        shutdown_button =  dbuilder.get_object("button4")

        profile_button = dbuilder.get_object("profile_button")
        self.selected = dbuilder.get_object("selected_profile")
        self.update_selected_profile()
        
        #Connect signals
        dispatcher = context.get_dispatcher()
        dispatcher.connect("reload-profile", self.update_selected_profile)
        recorder.connect("clicked", self.emit_signal, "change_mode", 0)
        manager.connect("clicked", self.emit_signal, "change_mode", 1)
        quit_button.connect("clicked", self.emit_signal, "galicaster-quit")
        shutdown_button.connect("clicked", self.emit_signal, "galicaster-shutdown")
        profile_button.connect("clicked", self.on_profile_button)
        
        about = dbuilder.get_object("aboutevent")
        about.connect("button-press-event", self.show_about_dialog)

        conf = context.get_conf()
        quit_button.set_visible(conf.get_boolean("basic", "quit"))
        shutdown_button.set_visible(conf.get_boolean("basic", "shutdown"))
        self.pack_start(dbox, True, True, 0)
コード例 #23
0
ファイル: context.py プロジェクト: zenny/Galicaster
 def test_context(self):
     self.assertNotEqual(type(context.get_conf()), galicaster.core.conf)
     self.assertEqual(type(context.get_conf()), galicaster.core.conf.Conf)
     self.assertEqual(type(context.get_dispatcher()),
                      galicaster.core.dispatcher.Dispatcher)
     self.assertEqual(type(context.get_repository()),
                      galicaster.mediapackage.repository.Repository)
コード例 #24
0
ファイル: run_galicaster.py プロジェクト: rubenrua/Galicaster
def main(args):
    def usage():
        sys.stderr.write("usage: %s\n" % args[0])
        return 1

    if len(args) != 1:
        return usage()
    try:
        Gst.init(None)
        gc = core.Main()
        Gtk.main()
    except KeyboardInterrupt:
        gc.emit_quit()
        print "Interrupted by user!"
    except Exception as exc:
        # debug
        # print traceback.format_exc()

        msg = "Error starting Galicaster: {0}".format(exc)
        print msg

        from galicaster.core import context
        logger = context.get_logger()
        logger and logger.error(msg)

        d = context.get_dispatcher()
        d.emit("galicaster-notify-quit")
        return -1


    return 0
コード例 #25
0
ファイル: rapidrec.py プロジェクト: cilt-uct/ca-ansible
def init():

    logger.info('Start rapidrec plugin')

    global recorder, dispatcher
    dispatcher = context.get_dispatcher()
    recorder = context.get_recorder()

    try:
        dispatcher = context.get_dispatcher()
        dispatcher.connect('timer-short', monitor_timer_action)
        logger.info("Registered")

    except ValueError:
        logger.info("Error")
        pass
コード例 #26
0
def init():
    global minfree, logger, repo, ocservice, dispatcher

    conf = context.get_conf()
    dispatcher = context.get_dispatcher()
    repo = context.get_repository()
    logger = context.get_logger()
    ocservice = context.get_ocservice()

    minfree = None
    try:
        minfree = int(conf.get('checkspace', 'minfreespace'))
    except Exception as exc:
        raise Exception("Wrong parameter minfreespace: {}".format(exc))

    if minfree:
        logger.info("Parameter 'minfreespace' set to {} GB".format(minfree))
        dispatcher.connect('timer-nightly', check_space)
        dispatcher.connect('recorder-status', check_space_status)

        oninit = conf.get('checkspace', 'checkoninit')
        if oninit in ["True", "true"]:
            check_space(None)
    else:
        raise Exception("Parameter minfreespace not configured")
コード例 #27
0
def init():
    try:
        conf = context.get_conf()
        mode = conf.get('qrcode', 'pause_mode') or 'hold'  # or 'start_stop'
        symbols = {}
        symbols['start'] = conf.get('qrcode', 'start_code') or 'start'
        symbols['stop'] = conf.get('qrcode', 'stop_code') or 'stop'
        symbols['hold'] = conf.get('qrcode', 'hold_code') or 'hold'
        rescale = conf.get('qrcode', 'rescale') or 'source'
        drop_frames = conf.get_boolean('qrcode', 'drop_frames') or False
        buffers = conf.get_int('qrcode', 'buffers') or 200
        hold_timeout = conf.get_int('qrcode', 'hold_timeout') or 1  # secs
        ignore_bins = conf.get('qrcode', 'ignore_track_name') or None
        qr = QRCodeScanner(mode, symbols, hold_timeout, rescale, drop_frames,
                           buffers, ignore_bins, context.get_logger())

        dispatcher = context.get_dispatcher()
        dispatcher.connect('recorder-ready', qr.qrcode_add_pipeline)
        # only process sync-messages when recording to reduce overhead
        dispatcher.connect('recorder-started',
                           qr.qrcode_connect_to_sync_message)
        dispatcher.connect('recorder-stopped',
                           qr.qrcode_disconnect_to_sync_message)
        qr.set_add_edits(conf.get_boolean('qrcode', 'mp_add_edits') or False)
        qr.set_trimhold(
            conf.get_boolean('qrcode', 'mp_force_trimhold') or False)
        qr.set_add_smil(conf.get_boolean('qrcode', 'mp_add_smil') or False)
        dispatcher.connect('recorder-stopped', qr.qrcode_update_mediapackage)

    except ValueError:
        pass
コード例 #28
0
ファイル: muteinputs.py プロジェクト: samuvlad/Galicaster
def init():
    global conf, logger, recorder, dispatcher
    dispatcher = context.get_dispatcher()
    logger = context.get_logger()
    conf = context.get_conf()
    recorder = context.get_recorder()
    dispatcher.connect('init', manage_button)
コード例 #29
0
ファイル: recorder.py プロジェクト: MasterFox/Galicaster
    def __init__(self, bins, players={}):
        """
        Initialize the recorder.
        This class is event-based and needs a mainloop to work properly.

        :param bins: a ``list`` of ``dict`` with name, klass, device and file to record
        :param players: a ``dict`` a gtk.DrawingArea list to use as player.
        """
        #FIXME check the values are dict with the next keys: name, klass/type, dev* and filesink.
        if not isinstance(bins, list):
            raise TypeError(
                '%s: need a %r; got a %r: %r' % ('bins', list,
                                                 type(bins), bins) 
                )
        #FIXME check the values are gtk.DrawingArea
        if not isinstance(players, dict):
            raise TypeError(
                '%s: need a %r; got a %r: %r' % ('players', dict, 
                                                 type(players), players)
                )

        self.dispatcher = context.get_dispatcher() 
        self.bins_desc = bins
        self.players = players
        self.restart = False
        self.mute = False
        self.error = False

        self.pipeline = gst.Pipeline("galicaster_recorder")
        self.bus = self.pipeline.get_bus()

        self.bins = dict()
        self.callback = None

        self.bus.add_signal_watch()
        self.bus.enable_sync_message_emission()
        #self.bus.connect('message', WeakMethod(self, '_debug')) # TO DEBUG
        self.bus.connect('message::eos', WeakMethod(self, '_on_eos'))
        self.bus.connect('message::error', WeakMethod(self, '_on_error'))        
        self.bus.connect('message::element', WeakMethod(self, '_on_message_element'))
        self.bus.connect('message::state-changed', WeakMethod(self, '_on_state_changed'))
        self.bus.connect('sync-message::element', WeakMethod(self, '_on_sync_message'))

        for bin in bins:
            name = bin['name']

            try:
                mod_name = 'galicaster.recorder.bins.' + bin['device']
                __import__(mod_name)
                mod = sys.modules[mod_name]
                Klass = getattr(mod, "GC" + bin['device'])
            except:
                raise NameError(
                    'Invalid track type %s for %s track' % (mod_name, name)
                    )

            logger.debug("Init bin %s %s", name, mod_name)
            self.bins[name] = Klass(bin)
            self.pipeline.add(self.bins[name])
コード例 #30
0
def init():
    dispatcher = context.get_dispatcher()
    inactivity = context.get_conf().get('screensaver', 'inactivity')
        
    dispatcher.connect('upcoming-recording', deactivate_screensaver)
    dispatcher.connect('starting-record', deactivate_screensaver)
    dispatcher.connect('restart-preview', activate_screensaver)
    activate_screensaver()
コード例 #31
0
ファイル: screensaver.py プロジェクト: CGreweling/Galicaster
def init():
    global inactivity
    dispatcher = context.get_dispatcher()
    inactivity = context.get_conf().get('screensaver', 'inactivity')
    dispatcher.connect('upcoming-recording', deactivate_and_poke)
    dispatcher.connect('starting-record', deactivate_and_poke)
    dispatcher.connect('restart-preview', configure)
    dispatcher.connect('galicaster-notify-quit', configure_quit)
    configure()
コード例 #32
0
ファイル: service.py プロジェクト: rubenrua/Galicaster
    def __get_dependencies(self):
        dispatcher = context.get_dispatcher()
        repo = Repository(self.tmppath)
        worker = self.WorkerMock()
        conf = Conf()
        conf.set("allows", "overlap", "False")
        logger = Logger(None)

        return dispatcher, repo, worker, conf, logger
コード例 #33
0
ファイル: screensaver.py プロジェクト: qingke678/Galicaster
def init():
    global inactivity
    dispatcher = context.get_dispatcher()
    inactivity = context.get_conf().get('screensaver', 'inactivity')
    dispatcher.connect('upcoming-recording', deactivate_and_poke)
    dispatcher.connect('starting-record', deactivate_and_poke)
    dispatcher.connect('restart-preview', configure)
    dispatcher.connect('galicaster-notify-quit', configure_quit)
    default_configuration()
コード例 #34
0
ファイル: cleanstale.py プロジェクト: hectorcanto/Galicaster
def init():
    conf = context.get_conf()
    dispatcher = context.get_dispatcher()
    dispatcher.connect('galicaster-notify-nightly', clear_job)

    try:
        days = int(conf.get('cleanstale','maxarchivaldays'))
    except ValueError:
        #log or set default value
        pass
コード例 #35
0
    def __get_dependencies(self):
        dispatcher = context.get_dispatcher()
        repo = Repository(self.tmppath)
        worker = self.WorkerMock()
        conf = Conf()
        conf.reload()
        conf.set("allows", "overlap", "False")
        logger = Logger(None)

        return dispatcher, repo, worker, conf, logger
コード例 #36
0
def init():
    dispatcher = context.get_dispatcher()
    dispatcher.connect("galicaster-notify-quit", do_stop_timers)
    dispatcher.connect('starting-record', create_timer)

    try:
        hours = int(conf.get('forcedurationrec', 'duration'))
    except ValueError:
        #log or set default value
        pass
コード例 #37
0
    def __init__(self, element):
        """elements set the previous area to which the top bar's back button points to"""
        Gtk.Box.__init__(self)
        self.strip = StripUI(element)

        self.conf = context.get_conf()
        self.dispatcher = context.get_dispatcher()
        self.repository = context.get_repository()
        self.network = False
        self.dispatcher.connect_ui("opencast-status", self.network_status)
コード例 #38
0
ファイル: retryingest.py プロジェクト: FihlaTV/Galicaster
def init():
    logger.debug('check_published set to {}'.format(check_published))
    logger.debug('check_after set to {}'.format(str(check_after)))
    logger.debug('check_nightly set to {}'.format(check_nightly))

    try:
        dispatcher = context.get_dispatcher()
        dispatcher.connect('timer-short', reingest)
    except ValueError:
        pass
コード例 #39
0
def init():
    logger.debug('check_published set to {}'.format(check_published))
    logger.debug('check_after set to {}'.format(str(check_after)))
    logger.debug('check_nightly set to {}'.format(check_nightly))

    try:
        dispatcher = context.get_dispatcher()
        dispatcher.connect('timer-short', reingest)
    except ValueError:
        pass
コード例 #40
0
def init():
    dispatcher = context.get_dispatcher()
    dispatcher.connect("galicaster-notify-quit", do_stop_timers)
    dispatcher.connect("starting-record", create_timer)

    try:
        hours = int(conf.get("forcedurationrec", "duration"))
    except ValueError:
        # log or set default value
        pass
コード例 #41
0
ファイル: managerui.py プロジェクト: sinhote/Galicaster
    def __init__(self, element):
        """elements set the previous area to which the top bar's back button points to"""
        Gtk.Box.__init__(self)
        self.strip = StripUI(element)

        self.conf = context.get_conf()
        self.dispatcher = context.get_dispatcher()
        self.repository = context.get_repository()
        self.network = False
        self.dispatcher.connect_ui("opencast-status", self.network_status)
コード例 #42
0
def init():
    conf = context.get_conf()
    dispatcher = context.get_dispatcher()
    dispatcher.connect('galicaster-notify-nightly', clear_job)

    try:
        days = int(conf.get('cleanstale', 'maxarchivaldays'))
    except ValueError:
        #log or set default value
        pass
コード例 #43
0
def init():
    global logger, repo, ocservice, dispatcher

    conf = context.get_conf()
    dispatcher = context.get_dispatcher()
    repo = context.get_repository()
    logger = context.get_logger()
    ocservice = context.get_ocservice()

    logger.info("Logging process memory use")
    dispatcher.connect('timer-long', check_mem)
コード例 #44
0
    def __init__(self):
        DBusService(self)

        logger.info('galicaster.__version__: %r', __version__)
        logger.info('galicaster.__file__: %r', __file__)

        self.change_cwd()

        self.conf = context.get_conf()
        self.dispatcher = context.get_dispatcher()
        self.modules = self.conf.get_modules()
        self.load_modules()
コード例 #45
0
def init():
    global focus_is_active

    dispatcher = context.get_dispatcher()
    conf = context.get_conf()

    focus_is_active = not conf.get_boolean('basic', 'admin')

    dispatcher.connect('audio-mute', warning_audio)
    dispatcher.connect('audio-recovered', warning_audio_destroy)
    dispatcher.connect('galicaster-status', event_change_mode)
    dispatcher.connect('reload-profile', reload_profile)
コード例 #46
0
ファイル: managerui.py プロジェクト: MasterFox/Galicaster
    def __init__(self, element):
        """elements set the previous area to which the top bar's back button points to"""
        gtk.Box.__init__(self)
        self.strip = StripUI(element)
        
	self.conf = context.get_conf()
	self.dispatcher = context.get_dispatcher() 
	self.repository = context.get_repository()
	self.network = False	    

	self.dispatcher.connect("net-up", self.network_status, True)
	self.dispatcher.connect("net-down", self.network_status, False)
コード例 #47
0
    def __init__(self, element):
        """elements set the previous area to which the top bar's back button points to"""
        gtk.Box.__init__(self)
        self.strip = StripUI(element)

        self.conf = context.get_conf()
        self.dispatcher = context.get_dispatcher()
        self.repository = context.get_repository()
        self.network = False

        self.dispatcher.connect("net-up", self.network_status, True)
        self.dispatcher.connect("net-down", self.network_status, False)
コード例 #48
0
def init():
    global logger, hidecursor, settings, default_settings
    dispatcher = context.get_dispatcher()
    logger = context.get_logger()
    conf = context.get_conf()

    dispatcher.connect('init', configure_init)
    dispatcher.connect('quit', configure_quit)

    settings = conf.get_json('appearance', 'settings')
    default_settings = conf.get_json('appearance', 'defaultsettings')
    hidecursor = conf.get_boolean('appearance', 'hidecursor')
コード例 #49
0
def init():
    global focus_is_active

    dispatcher = context.get_dispatcher()
    conf = context.get_conf()

    focus_is_active = not conf.get_boolean('basic','admin')

    dispatcher.connect('audio-mute', warning_audio)
    dispatcher.connect('audio-recovered', warning_audio_destroy)
    dispatcher.connect('galicaster-status', event_change_mode)
    dispatcher.connect('reload-profile', reload_profile)
コード例 #50
0
    def __init__(self):
        DBusService(self)

        logger.info('galicaster.__version__: %r', __version__)
        logger.info('galicaster.__file__: %r', __file__)

        self.change_cwd()

        self.conf = context.get_conf()
        self.dispatcher = context.get_dispatcher()
        self.modules = self.conf.get_modules()
        self.load_modules()
コード例 #51
0
ファイル: core.py プロジェクト: CGreweling/Galicaster
    def __init__(self):
        DBusService(self)

        logger.info("galicaster.__version__: %r", __version__)
        logger.info("galicaster.__file__: %r", __file__)

        self.conf = context.get_conf()
        self.state = context.get_state()
        self.dispatcher = context.get_dispatcher()
        self.modules = self.conf.get_modules()
        self.load_modules()
        self.dispatcher.connect("net-up", self.check_net, True)
        self.dispatcher.connect("net-down", self.check_net, False)
コード例 #52
0
def init():
    global dispatcher, logger, timeout
    logger = context.get_logger()
    dispatcher = context.get_dispatcher()
    conf = context.get_conf()
    threshold = conf.get('lowaudio','lowaudio_threshold')
    timeout = conf.get_float('lowaudio','timeout')
    if not threshold or not timeout:
        raise Exception("Failed to load plugin lowaudio, no parameters set in configuration file")
    dispatcher.add_new_signal("low-audio")
    dispatcher.add_new_signal("low-audio-recovered")
    dispatcher.connect('low-audio', low_audio)
    dispatcher.connect('low-audio-recovered', low_audio_recovered)
コード例 #53
0
def init():
    global conf, logger, repo, dispatcher, minfreespace, freespace
    conf = context.get_conf()
    dispatcher = context.get_dispatcher()
    logger = context.get_logger()
    repo = context.get_repository()

    minfreespace = conf.get_int('checkspace','minfreespace')
    if not minfreespace:
        raise Exception("Parameter minfreespace not configured")

    logger.info("Parameter 'minfreespace' set to {} GB".format(minfreespace))
    dispatcher.connect("recorder-ready", check_space)
コード例 #54
0
    def test_send_to_moniviestin_plugin(self):
        dispatcher = context.get_dispatcher()
        repo = context.get_repository()
        conf = context.get_conf()
        conf.set("moniviestin", "url", "http://yska.psy.jyu.fi:8080/uliuli")

        mp = self.create_mediapackage()
        repo.add(mp)
        send_to_moniviestin.init()

        self.assertEqual(len(repo), 1)
        dispatcher.emit('stop-operation', 'ingest', mp, True)
        self.assertEqual(len(repo), 1)
        dispatcher.emit('stop-operation', 'ingest', mp, False)
        self.assertEqual(len(repo), 1)
コード例 #55
0
ファイル: noaudiodialog.py プロジェクト: smarquard/Galicaster
def init():
    global focus_is_active

    dispatcher = context.get_dispatcher()
    conf = context.get_conf()

    focus_is_active = not conf.get_boolean("basic", "admin")

    dispatcher.connect("audio-mute", warning_audio)
    dispatcher.connect("audio-recovered", warning_audio_destroy)
    dispatcher.connect("galicaster-status", event_change_mode)
    dispatcher.connect("reload-profile", clear_data_and_check)
    dispatcher.connect("restart_preview", deactivate_hidden_and_check)
    dispatcher.connect("starting-record", deactivate_hidden_and_check)
    dispatcher.connect("upcoming-recording", deactivate_hidden_and_check)
コード例 #56
0
ファイル: noaudiodialog.py プロジェクト: cczurda/Galicaster
def init():
    global focus_is_active

    dispatcher = context.get_dispatcher()
    conf = context.get_conf()

    focus_is_active = not conf.get_boolean('basic','admin')

    dispatcher.connect('audio-mute', warning_audio)
    dispatcher.connect('audio-recovered', warning_audio_destroy)
    dispatcher.connect('galicaster-status', event_change_mode)
    dispatcher.connect('reload-profile', clear_data_and_check)
    dispatcher.connect('restart_preview', deactivate_hidden_and_check)
    dispatcher.connect('starting-record', deactivate_hidden_and_check)
    dispatcher.connect('upcoming-recording', deactivate_hidden_and_check)