OliveTin for Channels: An Interface for Misc Channels DVR Scripts & Tricks

Did you generate a fresh CSV file using the "Create Channels List in CSV Format" button first?

Nope. In my mind I was thinking that the script would create the CSV first then do the grep (or AWK). Ran the create channels list first, then searched for a station. That works.

Now that you have the first one setup for this purpose, you only need to generate a new CSV as you feel it's required.

I wanted to avoid generating a fresh CSV file each time if possible -- just in case you're doing many back-to-back searches. Either for different channels, or refining a search for one channel.

EDIT: Rather than having an error if a "latest" CSV file doesn't exist, I've added a test for that file and am automatically running the script to create it if needed. You'll still want to update it, on an as required basis -- whenever there are notable changes to your sources.

That seems like a good way to go. Thanks!

2 Likes

Just a thought: what if OliveTin could monitor the output of the Channel Lineup Change Notifications script and recreate the CSV file automatically whenever changes in the lineups are detected by the script?

I was thinking the same thing :slight_smile:, but I'm launching your Python script via a Bash script that terminates (OliveTin needs the scripts it launches to terminate to function properly).

Would it be possible to add a "hook" to the Python script, so that it launches a Bash (or other) script on channel source changes? Hopefully, it could just dovetail in with the logic to send e-mails and/or texts.

EDIT: Thinking about this a bit more, I may be able to use inotifywait to check for changes to the .log file I'm using, and then have it run a script on each file change to check for the type of change. Should be easy enough to implement, so I'll have a look at that approach.

@bnhf, This is a fairly low priority request but would it be possible to add another button to Fix YouTube Thumbnails to allow the user to run the script once independent of scheduled tasks. I'll often add content then have to wait until the next time the task runs. It would be nice to be able to execute on demand. Thanks!

I thought I set it up to be able to execute a "once" interval run, even if there's already a background task running. Have you tried it that way?

I assumed that if I selected once that is would kill the waiting tasks and then run once.
I tried the once option and that worked and it still says the task is running.

Should work the same for TWiT.tv guide data. The idea to allow that option for both was from the mind of @Fofer. :slight_smile:

Now that you mention it, it does make sense to do it this way. I can simply import the script that creates the CSV file into this script and call it at the right time.

As soon as I can make some time for it, I will give it a try. :slight_smile:
I will let you know when I have a new version of my script.

Regarding the TWiT schedule command. I changed mine to run "with 48h between runs" and confirmed this in the log, but when I revisit the command, it still says 72h in the field. Shouldn't it be updated to reflect what is currently running? I'm not sure if this is a bug or working as expected.

We definitely want it to update. What happens when you refresh your OliveTin browser tab?

I have the force-a-refresh thing figured out I believe, and I'm using that strategy for the Channel Lineup Change Notifications Action -- but I haven't applied it to YT-Thumbnails and TWiT yet. Seems to be doing the job though, so I'll implement the change across the board tomorrow.

Hmm. I still see no change. I checked via Organizr, and also direct at the actual OliveTin page. It still says 72h regardless.

New bnhf/olivetin:test container pushed this AM. Should address issues with retention of last used values for YT-Thumbnails and TWiT.tv.

Use of an interval "0" will now reset default values in addition to killing the script -- which matches how we're doing it with Channel Lineup Change Notifications. (Running!) label changed to (Date_Time) to force browser refresh when data is changed for all buttons with background tasks.

Figured out how to kill the correct child sleep process, when multiple sleep processes exist. Nobody likes orphaned child processes in their Docker containers! :baby:

Great, thanks! I updated to the bnhf/olivetin:test container and all appears fine. One suggestion I have with regards to the "running" label now changed to a date_time. How about also giving those tiles a slightly different background, so they stand out from the others? A light green shade would make sense to me :slight_smile:

I then ran the "List Sources for a Single Channel" command for the first time, just to test it out and see how it works. The first channel I tried was KABC. But the result only showed one, on my HDHomeRun, it didn't show it from the TVE sources. Same with KNBC. So I'm wondering if I'm doing something wrong?

I've got to head to work but will check the other buttons later and keep testing. Thanks for your continued work on this, I'm really appreciating it.

Another excellent suggestion! Which, I can accommodate in a tangential fashion. The background is baked-in, but the icon I have control over:

We'd want @mjitkop involved if there's something going on with the source data, but I'd guess those don't have the same name (even though they're the same station). Maybe have a look at your channels_dvr_channel_list_latest.csv file in the directory you have mapped to /config, and see if there's an obvious issue with channel names.

bnhf/olivetin:test has been pushed with the new green=running enhancement.

Ding, ding, ding... We have a winner! :partying_face:

That's exactly right. For the same channel, the name can differ from one source to another. Sometimes it's just a matter of a lower case vs. upper case on just one letter!

I did try to take this into account as much as I could in my script by ignoring differences in casing but there is more work to be done in order to filter better.

Another example I have in mind is A&E that is called AETV in a TVE source (if I'm not mistaken, I can't check right now) for example.

I was thinking at some point to have a translation table in the script in order to pick a single, official channel name for a case like this. That's a lot of work, and free time is very limited for me right now.

@bnhf: another idea for OliveTin. Could it handle something like this:

I imagine the user would just need to enter the account credentials and then click start.

And also print the instructions to show the user how to set up the custom channel.

If a user wont read instruction on how to set it up, what makes you think they'll read that one.
I can foresee support issues if someone uses OliveTin for Channels to do this and they're missing guide info, or they want to renumber channels, or using SMB mounts to delete files has permission issue. I wouldn't do it, but I'm not bnhf.