diff --git a/README.md b/README.md index b3536bc..bd30c57 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ Multi channel stream setup with Flask REST API for scheduling channels. 5. Access the admin panel at `https://stream.example.com/ui` 6. Access the recordings gallery at `https://vod.example.com/` -## purge vod database +### stream priorities +prio = 0 - scheduled +prio = 1 - live +prio = 2 - live and vod recording +### purge vod database `docker exec -ti television_archive_1 /app/gallery.js storage --storage /data/storage --database /data/config/database.db -l debug purge` \ No newline at end of file diff --git a/src/discordbot/discordbot.py b/src/discordbot/discordbot.py index 403cb96..3419e08 100644 --- a/src/discordbot/discordbot.py +++ b/src/discordbot/discordbot.py @@ -46,8 +46,10 @@ async def epg(ctx): await ctx.channel.send('epg:') if database != {}: for key, value in database.items(): - if value['start_at'] != 'now' and value['start_at'] != 'never': - await ctx.channel.send(f'{value['name']} starts at {value['start_at']}h UTC') + item_name = value['name'] + item_start = value['start_at'] + if item_start != 'now' and item_start != 'never': + await ctx.channel.send(f'{item_name} starts at {item_start}h UTC') else: await ctx.channel.send('Empty database!') @@ -66,15 +68,18 @@ async def update_database(): if database != {}: for key, value in database.items(): if value['start_at'] == 'now': - scheduler.add_job(func=announce_live_channel, seconds=60, id='announce_live_channel') - + scheduler.add_job(func=announce_live_channel, seconds=60, id='announce_live_channel') + return + scheduler.remove_job('announce_live_channel') + live_channel = bot.get_channel(announce_channel_id) + await live_channel.send(f'{announce_channel_id} removed') async def announce_live_channel(): if announce_channel_id == 'disabled': return else: live_channel = bot.get_channel(announce_channel_id) - await live_channel.send(f'{announce_channel_id}') + await live_channel.send(f'{announce_channel_id} ') # Run the bot with your token -asyncio.run(bot.run(bot_token)) +asyncio.run(bot.run(bot_token)) \ No newline at end of file diff --git a/src/scheduler/scheduler.py b/src/scheduler/scheduler.py index c22952a..316e1a1 100644 --- a/src/scheduler/scheduler.py +++ b/src/scheduler/scheduler.py @@ -76,8 +76,9 @@ def process_running_channel(database, scheduler, stream_id, stream_name, stream_ logger_job.error(f'Stream {stream_name} cancelled after {req_counter} attempts.') return scheduler.add_job(func=exec_stream, id=stream_id, args=(stream_id, stream_name, stream_prio, stream_hls_url)) - rec_id = f'rec_{stream_id}' - scheduler.add_job(func=exec_recorder, id=rec_id, args=(stream_id, stream_hls_url)) + if stream_prio == 2: + rec_id = f'rec_{stream_id}' + scheduler.add_job(func=exec_recorder, id=rec_id, args=(stream_id, stream_hls_url)) else: logger_job.warning(f"Stream start hour is set to {stream_start}") scheduler.add_job(