def test_get_scheduler_and_mhclient_none(self): conf = context.get_conf() conf.set('ingest', 'active', 'False') self.assertEqual(context.get_mhclient(), None) self.assertEqual(context.get_scheduler(), None) context.delete('mhclient') context.delete('scheduler') conf.set('ingest', 'active', 'True') self.assertEqual(type(context.get_mhclient()), galicaster.utils.mhhttpclient.MHHTTPClient) self.assertEqual(type(context.get_scheduler()), galicaster.scheduler.scheduler.Scheduler)
def test_get_scheduler_and_occlient_none(self): conf = context.get_conf() conf.set('ingest', 'active', 'False') self.assertEqual(context.get_occlient(), None) self.assertEqual(context.get_scheduler(), None) context.delete('occlient') context.delete('scheduler') conf.set('ingest', 'active', 'True') self.assertEqual(type(context.get_occlient()), galicaster.opencast.client.OCHTTPClient) self.assertEqual(type(context.get_scheduler()), galicaster.scheduler.scheduler.Scheduler)
def test_get_scheduler_and_occlient_none(self): conf = context.get_conf() conf.set('ingest', 'active', 'False') self.assertEqual(context.get_occlient(), None) self.assertTrue(context.get_scheduler() != None) context.delete('occlient') context.delete('scheduler') conf.set('ingest', 'active', 'True') self.assertEqual(type(context.get_occlient()), galicaster.opencast.client.OCHTTPClient) self.assertEqual(type(context.get_scheduler()), galicaster.scheduler.scheduler.Scheduler)
def check_repository(self): global logger #mp_list is collection of mediapackages ID's mp_list = context.get_repository() for uid, mp in mp_list.iteritems(): if mp.status == mediapackage.SCHEDULED and mp.getDate( ) < datetime.datetime.utcnow() and mp.getDate() + datetime.timedelta( seconds=(mp.getDuration() / 1000)) > datetime.datetime.utcnow(): #duration update x = datetime.datetime.utcnow() - mp.getDate() x = x.seconds - 2 mp.setDuration(mp.getDuration() - x * 1000) #start-datetime update mp.setDate(datetime.datetime.utcnow() + datetime.timedelta(seconds=2)) #repository update mp_list.update(mp) scheduler = context.get_scheduler() try: scheduler.create_timer(mp) logger.info("Mediapackage with UID:%s have been reprogrammed", uid) except Exception as exc: logger.error( "Error trying to create a new timer for MP {}: {}".format( uid, exc))
def check_repository(self): #mp_list is collection of mediapackages ID's mp_list = context.get_repository() for uid, mp in mp_list.iteritems(): if mp.status == mediapackage.SCHEDULED and mp.getDate( ) < datetime.datetime.utcnow() and mp.getDate() + datetime.timedelta( seconds=(mp.getDuration() / 1000)) > datetime.datetime.utcnow(): #duration update x = datetime.datetime.utcnow() - mp.getDate() x = x.seconds - 2 mp.setDuration(mp.getDuration() - x * 1000) #start-datetime update mp.setDate(datetime.datetime.utcnow() + datetime.timedelta(seconds=2)) #repository update mp_list.update(mp) scheduler = context.get_scheduler() try: scheduler.create_new_timer(mp) except ValueError: #log or set default value pass #logging logger.info("Mediapackage with UID:%s have been reprogrammed", uid)
def load_modules(self): self.window = context.get_mainwindow() # Load plugins after loading the main window (fixes a problem with the plugin 'nocursor') plugins.init() # Recorder self.recorder = RecorderClassUI() self.insert_page(self.recorder, 'REC') if 'scheduler' in self.modules: self.scheduler = context.get_scheduler() if 'ocservice' in self.modules: self.ocservice = context.get_ocservice() if 'media_manager' in self.modules: self.dispatcher.connect('action-view-change', self.change_mode) # Distribution self.distribution = DistribUI() self.insert_page(self.distribution, 'DIS') # Media Manager self.listing = ListingClassUI() self.insert_page(self.listing, 'MMA') if 'player' in self.modules: self.player = PlayerClassUI() self.insert_page(self.player, 'PLA') self.window.start() # Set home page homepage = self.conf.get_choice('basic', 'homepage', ['rec', 'pla', 'mma', 'dis'], 'mma').upper() if not 'media_manager' in self.modules or PAGES[homepage] not in PAGES_LOADED: logger.info("Set REC as home page (default value), modules loaded: {}".format(self.modules)) self.window.set_current_page(PAGES['REC']) self.recorder.block() else: logger.info("Set {} as home page, modules loaded: {}".format(homepage, self.modules)) self.window.set_current_page(PAGES[homepage]) # Notify home page setting by issuing a 'view-changed' signal self.dispatcher.emit('view-changed', None, self.window.get_current_page()) context.get_heartbeat().init_timer() self.dispatcher.emit("init")
def post_calendar(): # DEBUG purposes # TODO: be able to receive an icalendar using a post field conf = context.get_conf() if conf.get_boolean('ingest', 'active'): abort(503, "The Opencast service is enabled, so ingoring this command to avoid inconsisten behaviour") repo = context.get_repository() scheduler = context.get_scheduler() logger = context.get_logger() repo.delete_next_mediapackages() ical_data = repo.get_attach('calendar.ical').read() ical.handle_ical(ical_data, None, repo, scheduler, logger) return "OK"
def load_modules(self): self.window = context.get_mainwindow() # Load plugins after loading the main window (fixes a problem with the plugin 'nocursor') plugins.init() # Recorder self.recorder = RecorderClassUI() self.window.insert_page(self.recorder, 'REC', REC) if 'scheduler' in self.modules: self.scheduler = context.get_scheduler() if 'media_manager' in self.modules: self.dispatcher.connect('change-mode', self.change_mode) # Distribution self.distribution = DistribUI() self.window.insert_page(self.distribution, 'DISTRIBUTION', DIS) # Media Manager self.listing = ListingClassUI() self.window.insert_page(self.listing, 'LIST', MMA) if 'player' in self.modules: self.player = PlayerClassUI() self.window.insert_page(self.player, 'PLAYER', PLA) self.window.start() self.recorder.go_ahead() # allows record area to load devices and show preview if 'media_manager' in self.modules: self.window.set_current_page(DIS) self.state.area = DIS else: self.window.set_current_page(REC) self.state.area = REC self.recorder.block() context.get_heartbeat().init_timer() self.dispatcher.emit("galicaster-init")
def load_modules(self): plugins.init() self.window = context.get_mainwindow() # Recorder self.recorder = RecorderClassUI() self.window.insert_page(self.recorder, 'REC', REC) if 'scheduler' in self.modules: self.scheduler = context.get_scheduler() if 'media_manager' in self.modules: self.dispatcher.connect('change-mode', self.change_mode) # Distribution self.distribution = DistribUI() self.window.insert_page(self.distribution, 'DISTRIBUTION', DIS) # Media Manager self.listing = ListingClassUI() self.window.insert_page(self.listing, 'LIST', MMA) if 'player' in self.modules: self.player = PlayerClassUI() self.window.insert_page(self.player, 'PLAYER', PLA) self.window.start() self.recorder.go_ahead( ) # allows record area to load devices and show preview if 'media_manager' in self.modules: self.window.set_current_page(DIS) self.state.area = DIS else: self.window.set_current_page(REC) self.state.area = REC self.recorder.block() context.get_heartbeat().init_timer() self.dispatcher.emit("galicaster-init")
def load_modules(self): plugins.init() self.window = context.get_mainwindow() # Recorder self.recorder = RecorderClassUI() self.window.insert_page(self.recorder, "REC", REC) if "scheduler" in self.modules: self.scheduler = context.get_scheduler() if "media_manager" in self.modules: self.dispatcher.connect("change-mode", self.change_mode) # Distribution self.distribution = DistribUI() self.window.insert_page(self.distribution, "DISTRIBUTION", DIS) # Media Manager self.listing = ListingClassUI() self.window.insert_page(self.listing, "LIST", MMA) if "player" in self.modules: self.player = PlayerClassUI() self.window.insert_page(self.player, "PLAYER", PLA) self.window.start() self.recorder.go_ahead() # allows record area to load devices and show preview if "media_manager" in self.modules: self.window.set_current_page(DIS) self.state.area = DIS else: self.window.set_current_page(REC) self.state.area = REC self.recorder.block() context.get_heartbeat().init_timer() self.dispatcher.emit("galicaster-init")
def load_modules(self): self.window = context.get_mainwindow() # Recorder self.recorder = RecorderClassUI() self.window.insert_page(self.recorder, 'REC', REC) if 'scheduler' in self.modules: self.scheduler = context.get_scheduler() if 'media_manager' in self.modules: self.dispatcher.connect('change-mode', self.change_mode) self.dispatcher.connect('play-list', self.play_mp) # Distribution self.distribution = DistribUI() self.window.insert_page(self.distribution, 'DISTRIBUTION', DIS) # Media Manager self.listing = ListingClassUI() self.window.insert_page(self.listing, 'LIST', MMA) if 'player' in self.modules: self.player = PlayerClassUI() self.window.insert_page(self.player, 'PLAYER', PLA) self.window.start() self.recorder.go_ahead() # allows record area to load devices and show preview if 'media_manager' in self.modules: self.window.set_current_page(DIS) else: self.window.set_current_page(REC) self.recorder.block() plugins.init() context.get_heartbeat().init_timer()
def check_repository(self): #mp_list is collection of mediapackages ID's mp_list = context.get_repository() for uid,mp in mp_list.iteritems(): if mp.status == mediapackage.SCHEDULED and mp.getDate() < datetime.datetime.utcnow() and mp.getDate()+datetime.timedelta(seconds=(mp.getDuration()/1000)) > datetime.datetime.utcnow(): #duration update x = datetime.datetime.utcnow() - mp.getDate() x = x.seconds-2 mp.setDuration(mp.getDuration() - x*1000) #start-datetime update mp.setDate(datetime.datetime.utcnow()+datetime.timedelta(seconds=2)) #repository update mp_list.update(mp) scheduler = context.get_scheduler() try: scheduler.create_new_timer(mp) except ValueError: #log or set default value pass #logging logger.info("Mediapackage with UID:%s have been reprogrammed", uid)
def load_modules(self): self.window = context.get_mainwindow() # Recorder self.recorder = RecorderClassUI() self.window.insert_page(self.recorder, 'REC', REC) if 'scheduler' in self.modules: self.scheduler = context.get_scheduler() if 'media_manager' in self.modules: self.dispatcher.connect('change-mode', self.change_mode) self.dispatcher.connect('play-list', self.play_mp) # Distribution self.distribution = DistribUI() self.window.insert_page(self.distribution, 'DISTRIBUTION', DIS) # Media Manager self.listing = ListingClassUI() self.window.insert_page(self.listing, 'LIST', MMA) if 'player' in self.modules: self.player = PlayerClassUI() self.window.insert_page(self.player, 'PLAYER', PLA) self.window.start() if 'recorder' and 'media_manager' in self.modules: self.window.set_current_page(DIS) else: self.window.set_current_page(REC) self.recorder.block() plugins.init() context.get_heartbeat().init_timer()