First failed import of MXF file

An evolving, supported alternative to Rovi
Forum rules
★ Download the latest EPG123 here: https://garyan2.github.io/ <> Setup guide here: https://garyan2.github.io/install.html
Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

First failed import of MXF file

#1

Post by Space » Mon Oct 05, 2020 11:26 pm

So, tonight there were a few last minute changes to the schedule so I did a manual update with EPG123 to see if they were reflected in the data from Schedules Direct...

I manually ran the update at around 6:30 PM ET and it created the MXF file but then failed to import...

Code: Select all

[10/5/2020 6:33:47 PM] ===============================================================================
[10/5/2020 6:33:47 PM]  Beginning epg123 client execution. version 1.3.9.30
[10/5/2020 6:33:47 PM] ===============================================================================
[10/5/2020 6:33:47 PM] [ INFO] Beginning epg123 client execution. 2020-10-05 22:33:47Z
[10/5/2020 6:33:47 PM] [ INFO] Import: True , Match: True , NoLogo: False , Force: False , ShowProgress: True
[10/5/2020 6:33:48 PM] Entering importMxfFile() for file "c:\programdata\garyan2\epg123\output\epg123.mxf"
[10/5/2020 6:39:24 PM] [ERROR] Error using loadmxf.exe to import new guide information. Exit code: 255
[10/5/2020 6:39:24 PM] Exiting importMxfFile(). FAILURE.
[10/5/2020 6:39:24 PM] [ERROR] Failed to import .mxf file. Exiting.
I then looked in the guide in WMC and saw that it did update the guide, even though the loadmxf.exe returned an error code.

So this brings up two things...

Why did the import fail? This is the first time I have had the import fail since using EPG123. One thing different then usual is that I ran it manually, and that I had WMC running with the channel guide displayed (although I would hope that this is not what would cause it). I usually leave WMC running, but never with the channel guide displayed.

Why does EPG123 not run ReindexSearchRoot after the import if the import "fails". As demonstrated below, a failure does not necessarily mean that the data was not loaded (at least partially) in to the WMC database. I think that ReindexSearchRoot should run regardless of the status of the loadmxf execution, unless there is some good reason not to do it.

As a result of not running ReindexSearchRoot, I still had "Big Brother" scheduled to record at 8pm tonight, even though the channel guide was updated with an NFL game in that time slot. I can only assume that the reason WMC still had "Big Brother" set to record at 8pm when it was not in the channel guide was due to the re-indexing not occurring.'

Note that after this, I ran EPG123 again (with WMC not running) and it completed successfully (import was good) and the "Big Brother" scheduled recording was removed.


Another issue, not EPG123 related, but Schedules Direct related, is that "Big Brother" was moved from 8pm to 10pm, and that was not reflected in the channel guide yet (it still had "Manhunter: Deadly Game" at 10pm). Also there appears to be a Joe Biden town hall at 8pm on NBC, but Schedules Direct still has "America Ninja Warrior".

Schedules Direct correctly removed the 8pm airing of "Big Brother" and replaced it with the NFL game, but did not yet have the 10pm airing of "Big Bother", which is a change they decided to do sometime after they decided to preempt the 8pm airing with the NFL.

Note that both of these changes are correctly reflected on the zap2it website, so it is not a Gracenote problem, it is a Schedules Direct issue. I think when there are last minute changes like this it would be nice if a special update can be run to capture the changes. If I had not learned of these things through other means, I would have missed both of these programs.

Perhaps Schedules Direct can implement a special update that only affects the time frames (prime time in this case) and specific networks that are manually specified. This should allow a quicker update then if they were to initiate a complete update for all channels. Of course this would require someone at SD to monitor for major "last minute" network schedule changes and then manually kick off an update, which may be asking too much.

EDIT: One other thing I forgot. When I ran EPG123 manually and it was importing the MXF file, then failed, the GUI went away and then a CMD window popped up with loadmxf.exe running in it (with the total percentage incrementing). Why did it do this? Did it kick off another import using the CLI display instead of the GUI? I was confused as to why this happened. Maybe EPG123 exited but the loadmxf was still running so it displayed this CMD window? Very weird...

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#2

Post by garyan2 » Mon Oct 05, 2020 11:59 pm

I'm actually surprised the NFL game made it into your guide. WMC does some funny logic to determine whether to replace an existing program with a new program that needs to fit in the same timeslot(s). The only to way to get the guide corrected with the new listings if the logic doesn't work in your favor is to perform a [Rebuild WMC Database]... basically it will delete your current database and build a new one without listings. Importing the current listings will mean everything is correct.

Based on your description, I suspect that the first import using loadmxf.exe did fail with exit code 255 but it started a new session by itself. I think I recall something like this recovery in the loadmxf code. EPG123 would have no idea it did that and all it knows is that the (first) import failed. I don't run the reindexing on failed imports. There could be problems with trying to do so if the database is corrupted. If so, there would be someone else asking why in the world I would do a reindex if the import failed?

It is also possible that exit code 0xFF has a special meaning that there was a problem but it is starting a new session. If so, I should be able to react to that.

Note that Schedules Direct updates their server twice a day whereas zap2it is basically in the same building as Gracenote and gets updates quicker. There will be a time span between when zap2it gets updated and Schedules Direct gets updated.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#3

Post by Space » Tue Oct 06, 2020 6:31 am

I just checked the MXF file and it does look like it had the "Big Brother" episode moved to 10pm, but I guess it just didn't get imported properly by loadmxf. I'm not sure why the NFL game worked, but it was from 7pm-10pm while "Big Brother" was from 8pm-9pm, so maybe the completely different (but overlapping) slots had something to do with it.

I'm wondering if there is any way to work-around this loadmxf bug, as it is really disappointing to have good guide data but have it be messed up by not being updated correctly in the WMC guide.

Have you tried adding absolute times (startTime) to an entry to see if it will override the existing entry even if it wouldn't without the absolute time? I see in the MXF that only the first entry for a channel has an absolute startTime, and the rest of the programs on that channel just have the duration (so I assume the start time of each timeslot is derived from the initial absolute time plus the duration of each program after that). I'm not even sure if it accepts a startTime for the other entries other than the first one, though.

A startTime value even has "seconds" which I am not sure would even be used by WMC, perhaps incrementing this whenever there is a new update for that timeslot (or that day/channel) would cause WMC to update it, since it is a new start time from what is currently in the WMC database (and changing start times do seem to get updated as opposed to changing programs with the same start time). But I don't know if the WMC DB retains that seconds value (nor do I know if it respects that value, like can you really have a show that starts recording at 8:00:30 (8pm+30 seconds)?) But if the existing start time for a show is 8:00:00 and the MXF file changes it to 8:00:01, what would happen? Would it still start recording at 8pm? Would the WMC DB store 8:00 or 8:00:01? Would the change of time force WMC to update the entry, thereby circumventing the update bug?

Another thing that maybe can be done is adding another tag (not sure which other ones are valid other than the more common once such as isCC, tvRating, isRepeat, etc.) that is assigned a random value to each timeslot entry. Perhaps if WMC sees this particular tag has changed, it will update the timeslot with the new data (because obviously, if it sees that the "program" value has changed, it doesn't update the entry, at least not all the time). I understand that adding a random tag to every timeslot would cause a lot of updates so maybe only do it for certain channels and/or certain time slots (such as for prime time) or only the entries you know have changed from the last update (I'm not sure if these are cached, but if so, then ones that changed from the last time they were cached).

Another thing to try is to add +1 minute to the start time for that channel/day to see if it updates with the new (incorrect) start times, and then update again with the correct times. So, for instance, it will see the existing slot at 8pm with "show 1", then it updates the time to 8:01pm with "show 2", then you update it again with 8pm for "show 2". So each update is not just changing what program it is, but also the start time. This may trigger WMC to actually do the update instead of ignoring it when it is just "show 1" 8pm -> "show 2" 8pm.

I'm just brainstorming a bit here, that last one is probably not one to consider simply because it requires two updates, and can cause problems if the update is happening when a schedule show is supposed to start (it might start late, etc).

Anyway, again, just wanted to throw these out there, maybe some testing can be done with a schedule entry that won't update with a normal MXF change. Throwing some of the things from above at it to see what will stick.

The ideal solution would probably be to reverse engineer the WMC code to see what it is doing and under what conditions it will not update the entry. Then it may be easier to come up with a workaround, but of course this would require someone that has that skill.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#4

Post by garyan2 » Thu Oct 08, 2020 5:36 pm

We've tried all that and more. The only way I can see to accomplish an "always replace" import would be to create your own loader and bypass loadmxf. That method definitely has some challenges as you can see from glugglug's work here. I have no intention of developing a separate loader.

You're right, the NFL game made it because it overlapped multiple programs. "Big Brother" did not because it didn't pass the logic built into WMC when updating schedule entries.

I have, however, added a new feature in the client to clear all schedule entries of a service (station). This will ensure that when the MXF file is imported again all the schedule entries and programs will be the latest. If you find a station that is not updating due to the WMC logic, you can clear the schedule entries and reimport the MXF file. You can select an individual station, or multiple stations to perform this action. This ability avoids performing a database rebuild and you will keep your recording histories.
clearListings.PNG
clearListings.PNG (10.07 KiB) Viewed 2390 times
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#5

Post by Space » Thu Oct 08, 2020 9:59 pm

That's a very nice feature (thanks!). Although it is only useful if you happen to notice the issue ahead of time. Often, however, it goes unnoticed until it's too late.

I wonder if there would be issues with having a "permanent" list of channels that should always be cleared immediately before importing a new MXF file. In this way you could always clear (for instance) the broadcast network channels which are the ones that usually have last-minute changes.

Of course this can cause issues if for some reason the MXF import fails, then you end up with channels that have no guide data. If it fails to import the data and it doesn't give any error, then that would be even worse. You would really have to know how reliable loadmxf is with loading data for a channel with cleared data. Of course if it is unreliable, then the entire feature of clearing a channels data would be a bad idea.

Again, just brainstorming. "Blindly" clearing parts of the DB every day may just be asking for trouble in practice.

Of course a better solution would be to compare what is in the latest MXF file vs. what is in WMC (after importing that MXF in to WMC), then it could clear the channels with inconsistent data (again, perhaps just from a limited list of channels) and re-import. Perhaps even paring down the MXF file to just the entries that need to be corrected (I would think that would make the second update faster).
But again, this may be overkill to fix this problem, and the problem may be bad enough so that there is always inconsistent data that normally goes unnoticed (so the compare would always result in a clear of the channel).

nibot

Posts: 3
Joined: Thu Jan 02, 2020 12:52 pm
Location:

HTPC Specs: Show details

#6

Post by nibot » Thu Oct 08, 2020 11:02 pm

I have also upgraded to the latest version and it has failed to update the files several times. All times it has an error and then quits. When I notice I can do a manual update which works just fine except this last time I had to select update several times before it worked. HTPC running Win 7 pro 64 Windows Media Center always on broadband internet.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#7

Post by garyan2 » Thu Oct 08, 2020 11:34 pm

nibot wrote: Thu Oct 08, 2020 11:02 pm I have also upgraded to the latest version and it has failed to update the files several times. All times it has an error and then quits. When I notice I can do a manual update which works just fine except this last time I had to select update several times before it worked. HTPC running Win 7 pro 64 Windows Media Center always on broadband internet.
Gonna need more information about the errors. What does the trace.log file say? What error? When you do a manual update, is it from the tray icon or is it a [Save & Execute] from the configuration GUI?

Note on the tray icon, it can take a couple seconds for the icon color to change to blue. It starts your scheduled task which will execute the epg123.exe program which needs to initialize before it starts the download/update.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#8

Post by garyan2 » Thu Oct 08, 2020 11:57 pm

Space wrote: Thu Oct 08, 2020 9:59 pmOf course a better solution would be to compare what is in the latest MXF file vs. what is in WMC (after importing that MXF in to WMC), then it could clear the channels with inconsistent data (again, perhaps just from a limited list of channels) and re-import.
Interesting concept, but I would limit such function (probably as a stand-alone program) to verify the contents and produce a warning or error that identifies what station with time(s) and program(s) that are affected. Seriously, this could be a whole lot of work for little benefit... or a lot a warning flags that the user may/may not care about.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#9

Post by Space » Fri Oct 09, 2020 12:33 pm

garyan2 wrote: Thu Oct 08, 2020 11:57 pm
Space wrote: Thu Oct 08, 2020 9:59 pmOf course a better solution would be to compare what is in the latest MXF file vs. what is in WMC (after importing that MXF in to WMC), then it could clear the channels with inconsistent data (again, perhaps just from a limited list of channels) and re-import.
Interesting concept, but I would limit such function (probably as a stand-alone program) to verify the contents and produce a warning or error that identifies what station with time(s) and program(s) that are affected. Seriously, this could be a whole lot of work for little benefit... or a lot a warning flags that the user may/may not care about.
I'm not sure how much work it would be, but at a basic level, it would be nice to have a program that can dump the WMC DB schedule in to a text form. Just the start/end time for each program on each channel. There may already be a program that can do this out there, but I am unaware of any.

In the most basic form, it could just output the start date in UTC, the start time, end time (or program length), and the program ID for each station (or a given station).

Once you have this, it is only a matter of manipulating text files to do the comparisons you want between this output and the MXF file, although I only have a basic understanding of the MXF file, so it may be a bit more complicated then I am thinking.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#10

Post by garyan2 » Sat Oct 10, 2020 1:40 am

I'm not going to dump the MXF file and the WMC database into a readable format with all the schedule entries... just not going to happen.

I do have some functional code to verify the WMC database compared to the imported MXF file. I'm going to let it run a week or two to see what I catch. On my system with a database that is only a couple days old, the verification process found the below.

Code: Select all

[10/9/2020 6:06:13 PM] [ INFO] Entering VerifyLoad()
[10/9/2020 6:06:14 PM] [ INFO] Service KMSBDT schedule entry program at 10/17/2020 1:00:00 PM does not match expected program ID, but does match program title and episode title. [NASCAR Gander RV & Outdoors Truck Series] - [Clean Harbors 200]
[10/9/2020 6:06:14 PM] [ INFO] Service KOLDDT3 schedule entry program at 10/10/2020 4:00:00 AM does not match expected program ID, but does match program title and episode title. [Superthotics - Relieve Pain with Every Step] - []
[10/9/2020 6:06:14 PM] [ INFO] Service KTTUDT2 schedule entry program at 10/9/2020 4:30:00 AM does not match expected program ID, but does match program title and episode title. [Superthotics - Relieve Pain with Every Step] - []
[10/9/2020 6:06:14 PM] [ INFO] Exiting VerifyLoad()
To see a little more into what changed, the below is from earlier test code.

Code: Select all

[10/9/2020 4:42:45 PM] [ERROR] Verify: Service KMSBDT schedule entry program at 10/17/2020 1:00:00 PM does not match expected.
        IS: !Program!EP03126620_0105: NASCAR Gander RV & Outdoors Truck Series - Clean Harbors 200
        SB: !Program!EP03126620_0103: NASCAR Gander RV & Outdoors Truck Series - Clean Harbors 200
[10/9/2020 4:42:46 PM] [ERROR] Verify: Service KOLDDT3 schedule entry program at 10/10/2020 4:00:00 AM does not match expected.
        IS: !Program!SH03602553_0000: Superthotics - Relieve Pain with Every Step - 
        SB: !Program!SH03642670_0000: Superthotics - Relieve Pain with Every Step - 
[10/9/2020 4:42:46 PM] [ERROR] Verify: Service KTTUDT2 schedule entry program at 10/9/2020 4:30:00 AM does not match expected.
        IS: !Program!SH03602553_0000: Superthotics - Relieve Pain with Every Step - 
        SB: !Program!SH03642670_0000: Superthotics - Relieve Pain with Every Step - 
It took 2 seconds to checks all of my 30 stations with 15 days of schedule. A verification of 941 stations for 17 days took 18 seconds on my i7-4790K machine.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#11

Post by garyan2 » Sat Oct 10, 2020 1:59 am

Just ran another verification which apparently is right after SD updates their servers. Got some more flagged programs.

Code: Select all

[10/9/2020 6:30:21 PM] [ INFO] Entering VerifyLoad()
[10/9/2020 6:30:38 PM] [ INFO] Service KGUNDT schedule entry program at 10/9/2020 6:00:00 PM does not match expected program ID, but does match program title and episode title. [2020 NBA Finals] - [Miami Heat vs. Los Angeles Lakers]
[10/9/2020 6:30:38 PM] [ INFO] Service KGUNDT schedule entry program at 10/13/2020 1:06:00 AM does not match expected program ID, but does match program title and episode title. [Access Daily] - [Access Daily]
[10/9/2020 6:30:38 PM] [ INFO] Service KGUNDT schedule entry program at 10/14/2020 1:06:00 AM does not match expected program ID, but does match program title and episode title. [Access Daily] - [Access Daily]
[10/9/2020 6:30:38 PM] [ INFO] Service KGUNDT schedule entry program at 10/15/2020 1:06:00 AM does not match expected program ID, but does match program title and episode title. [Access Daily] - [Access Daily]
[10/9/2020 6:30:38 PM] [ INFO] Service KGUNDT schedule entry program at 10/16/2020 1:06:00 AM does not match expected program ID, but does match program title and episode title. [Access Daily] - [Access Daily]
[10/9/2020 6:30:38 PM] [ INFO] Service KGUNDT schedule entry program at 10/17/2020 1:06:00 AM does not match expected program ID, but does match program title and episode title. [Access Daily] - [Access Daily]
[10/9/2020 6:30:38 PM] [ INFO] Service KMSBDT schedule entry program at 10/17/2020 1:00:00 PM does not match expected program ID, but does match program title and episode title. [NASCAR Gander RV & Outdoors Truck Series] - [Clean Harbors 200]
[10/9/2020 6:30:38 PM] [ INFO] Service KOLDDT3 schedule entry program at 10/10/2020 4:00:00 AM does not match expected program ID, but does match program title and episode title. [Superthotics - Relieve Pain with Every Step] - []
[10/9/2020 6:30:38 PM] [ INFO] Service KTTUDT2 schedule entry program at 10/9/2020 4:30:00 AM does not match expected program ID, but does match program title and episode title. [Superthotics - Relieve Pain with Every Step] - []
[10/9/2020 6:30:39 PM] [ INFO] Exiting VerifyLoad()
Like I said, I'm going to let it run 1 or 2 weeks to see what happens to plan next steps.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#12

Post by Space » Sat Oct 10, 2020 3:49 am

I like this.

It might be interesting to run this against the current WMC DB and the newly generated MXF file BEFORE importing the MXF to see what should be updated and then do the import and run it again to see what the update was able to correctly update and what it wasn't able to update.

I know you said you couldn't detect any pattern, so I assume you have already done something like this in the past.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#13

Post by garyan2 » Sat Oct 10, 2020 4:35 am

It's not a pattern I am looking for. I can see all the logic in the WMC code... it is just very hard to follow in places. The big point is WMC will not replace a non-generic program with a different non-generic or generic program (the Access Daily episodes above) and will not replace a generic program with a different generic program (the Superthotics episodes above). There are exceptions to that depending on if the incoming program overlaps programs in the database.

The sports programs above failed the match because they got new production numbers (the series numbers are the same), but are identical otherwise. Not sure why Gracenote did that. Looks like the Access Daily episodes were originally supposed to be NEW showings but they just changed the schedule to show reruns, probably due to Covid. The Superthotics infomercial got a completely new generic/series program ID. Again, don't know why Gracenote did that.

Now the interesting part. For all of the programs listed so far, I could correct them during the verification. The problem is, if someone had scheduled a recording of the 2020 NBA Finals and I change what is in the guide, then the recording will probably not happen due to the program ID change. I'll have to give some thought on any other gotchas there may be if I go that route.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#14

Post by Space » Sat Oct 10, 2020 5:18 am

That gotcha is a gotcha due to the program ID change. It would have nothing to do with you making sure that change happens as it is supposed to.

If that change happens early enough, it is more likely to be caught. If it happens last minute, then less so. But why would Gracenote make a change like that last minute? You are just asking for trouble.

I'm not sure how most people have sports scheduled. I don't record sports, so I don't know how reliable Series recordings are for sports (although I've heard some people use keyword recordings to be sure to get what they want). I'm not sure if you have a one-off recording for a sports program if it will still record even if the program ID changes. It may be different for sports programs than it is for non-sports programs (due to the nature of sports programming as opposed to regular shows), but I have no idea.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#15

Post by garyan2 » Sat Oct 10, 2020 6:10 am

That's a fine line to say it has nothing to do with me making sure the change happens as it is supposed to. I tend to be on the user's side of this when deciding on how epg123 works, rather than be a purist and just simply blame Gracenote when someone misses a recording. Microsoft was very conservative on this which is why they have 600 lines of code of if..else statements buried within if..else statements buried within if..else statements just to identify candidate schedule entries that can be added, removed, or updated. That's not counting all the supporting lines of code to determine if a program exactly matches or almost matches, overlaps or not, etc.

I need to gather data, but I think there will certainly be cases in which I will intervene and make happen what is supposed to happen.
Space wrote: Sat Oct 10, 2020 5:18 amBut why would Gracenote make a change like that last minute? You are just asking for trouble.
This one baffles me too. Speaking to the NBA game, it looks like we didn't get the update through Schedules Direct until it was in progress. Definitely didn't have a chance since part of the WMC logic is also to take into account whether the schedule entry is NOW or if it is NEXT. I believe in both those case, WMC will not update the schedule entry.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#16

Post by Space » Sat Oct 10, 2020 1:52 pm

There is obviously more going on here then I realized. I didn't know WMC was purposefully doing more complicated things here. I just thought the problem with not updating things was a simple bug, not a complicated bug and perhaps intentional (although obviously misguided for some things).

Not sure what you mean by NOW or NEXT, but I would assume that means it is currently recording or is about to be recording (or at least means airing or about to be airing), although I am pretty sure I've had guide entries updated while they were currently recording, which caused them to stop recording in the middle.

I know that if you refresh Remote Potato about 5 minutes before recordings are supposed to start, it will not display those recordings in the "Scheduled Recordings" page. I always assumed that these were marked differently just ahead of the recording times, perhaps it has something to do with what you call NEXT. After they start recording though, they are displayed in the "Scheduled Recordings" once again.

Anyway, I am glad to hear that there may be certain situations where you may be able to intervene. If the procedure is going to be to wipe out the guide for a certain channel and then re-import, it should probably have checks in there to make sure the schedule actually gets repopulated after it is cleared.

One of the things I'd like to set up is a way to proactively notify when there is a problem (like an email or SMS message) but I haven't found an easy way to do this yet (nor have I found the time to play with it).

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#17

Post by garyan2 » Sat Oct 10, 2020 8:39 pm

Wow, what a difference a day makes. During these times as programs and sports events in particular are being cancelled, there are a whole lot of changes that WMC is rejecting. I'm now leaning to your vision of replacing everything but I think I still need some special logic to handle sports/live events.

I will also avoid the NOW and NEXT entries which are the currently airing and the airing next programs. This should prevent any watching and/or recordings being affected.

I'm going to collect some more data before I work on that code.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#18

Post by Space » Sun Oct 11, 2020 2:50 am

Can you clarify the NOW and NEXT entries?

For instance if I run EPG123 at 7:45pm, does that mean that any show that starts at 8pm would most likely be a NEXT? Because that might be bad for me. I specifically have it set up so that it updates as late as possible before prime time but so also so that it is done updating before prime time (8pm).

If you make this change, I do plan to make it update earlier so it has more time if it needs to do a second update, but I still would want it to update the NEXT programs (assuming I understand correctly what NEXT is).

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#19

Post by garyan2 » Sun Oct 11, 2020 3:25 am

Yes, in its' current form, a run at 7:45pm will mean the program at 8:00pm is considered NEXT. This is just duplicating what WMC is doing, but I may just reduce it to NOW and any program that starts within 15 minutes... the NOW program can be 3 hours long and the NEXT program may not start for a very long time. I think I would only be interested in giving enough time for the reindex of the guide listings and the pvr schedule to complete which should be less than 15 minutes.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#20

Post by garyan2 » Sun Oct 11, 2020 3:58 am

Just to add, I think you expect a little too much from Schedules Direct. What you download at 6:45pm will more than likely be exactly the same as a download at 2:45pm. You are downloading whatever Schedules Direct has cached on their server and not getting any 11th hour updates directly from Gracenote.

I'll post all my schedule changes here using the new code for the next couple/few days to show what programs are being changed and how far out they are. We will see how many of those changes are last minute that could affect anything.

And thank you for pushing this. I was reluctant at first because I was imagining trying to duplicate and improve what WMC currently does. Once I started working on the code for it, I realized all I am really doing is some minor clean up work and was able to do so in about 100 lines of code. There are cases where I won't perform the cleanup for a schedule entry and an error will be logged, but I really don't think that will be likely... WMC carries the heavy load and should mitigate the issues. I also need to apologize for all the names I called you inside my head while you were pushing. I believe this will be a great addition to EPG123/WMC and it is very satisfying to see programs that were wrong get corrected, even if I didn't even know the programs or problems existed.

Thanks, and stay tuned.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Post Reply