Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tvmaze lookup by timestamp failures #717

Open
SteveErl opened this issue Feb 10, 2023 · 10 comments
Open

Tvmaze lookup by timestamp failures #717

SteveErl opened this issue Feb 10, 2023 · 10 comments
Assignees

Comments

@SteveErl
Copy link
Contributor

  • Platform: Any

  • MythTV version: 33, master

  • Component: metadata

What steps will reproduce the bug?

Three lookup by timestamp scenarios show failures.

  1. A network broadcasted a rerun episode at 7pm, followed by a new episode at 8pm. Both episodes got tagged with the Season, Episode, Subtitle, and Description of the new episode. This is wrong for the rerun episode at 7pm.
$ TZ=America/Chicago tvmaze.py -l en -a US -N "The Winchesters" "2023-01-31 19:00:00"
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
  <item>
    <title>The Winchesters</title>
    <subtitle>Cast Your Fate to the Wind</subtitle>
    <description>When Vampires make their way into Lawrence, Carlos corrals the gang to find out why. Latika's weeks of sorting through the Men of Letters clubhouse provides vital information when John gets a scary glimpse into the future and enlists Millie's help with his plan. Meanwhile, Mary struggles with the tedious balance between feelings and action when it comes to John.</description>
    <season>1</season>
    <episode>9</episode>
    <inetref>56093</inetref>
    <collectionref>56093</collectionref>
    <language>en</language>
    <releasedate>2023-01-31</releasedate>
...

$ TZ=America/Chicago tvmaze.py -l en -a US -N "The Winchesters" "2023-01-31 20:00:00"
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
  <item>
    <title>The Winchesters</title>
    <subtitle>Cast Your Fate to the Wind</subtitle>
    <description>When Vampires make their way into Lawrence, Carlos corrals the gang to find out why. Latika's weeks of sorting through the Men of Letters clubhouse provides vital information when John gets a scary glimpse into the future and enlists Millie's help with his plan. Meanwhile, Mary struggles with the tedious balance between feelings and action when it comes to John.</description>
    <season>1</season>
    <episode>9</episode>
    <inetref>56093</inetref>
    <collectionref>56093</collectionref>
    <language>en</language>
    <releasedate>2023-01-31</releasedate>
...

Winchesters

The earlier show should return no exact match. It should return:

$ tvmaze.py -l en -a US -N "The Winchesters" "2023-01-31 19:00:00"
ERROR: <class 'Exception'> : Cannot find any episode with timestamp matching '2023-01-31 19:00:00'.

The rerun episode should have a generic series description, and should not specify the Season, Episode, and Subtitle.
WinchestersFixed1

  1. For late night TV shows which begin at or shortly after midnight, retrieval of specific information for an episode fails. For example:
$ TZ=America/New_York tvmaze.py -l en -a US -N "Late Night With Seth Meyers" "2023-02-01 00:35:00"
ERROR: <class 'Exception'> : Cannot find any episode with timestamp matching '2023-02-01 00:35:00'.

The TvMaze database does have the information, but it's stored under the previous date, 2023-01-31:

https://www.tvmaze.com/episodes/2478344/late-night-with-seth-meyers-2023-01-31-terry-crews-andrew-dismukes-rian-johnson-keio-stroud

  1. For timezones, in which programs are aired with a Rebroadcast Delay to place them in a more desirable time range, the tvmaze.py lookup fails. We need some way to factor in an optional Rebroadcast Delay. For example, in the United States, a program shown at 8pm in the Eastern timezone may be delayed in other timezones.
                    UTC    Rebroadcast Local-Airing-Time Prime
Timezone            offset Delay (min) Live  Rebroadcast Time
------------------- ---    ----------- ----- ----------- -----
America/New_York    -5     none        20:00             8pm
America/Chicago     -6     none        19:00             7pm
America/Denver      -7     60          18:00   19:00     7pm
America/Los_Angeles -8     180         17:00   20:00     8pm
America/Anchorage   -9     180         16:00   19:00     7pm
Pacific/Honolulu    -10    240         15:00   19:00     7pm

Note that in regions where some programs are shown with a Rebroadcast Delay, other programs (such as live sporting events) are shown without any delay. When searching for a match to the given timestamp, we may need to try both the Live and Rebroadcast times.

TZ=America/New_York tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 20:00:00"

TZ=America/Chicago tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 19:00:00"

TZ=America/Denver tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 19:00:00"
ERROR: <class 'Exception'> : Cannot find any episode with timestamp matching '2023-01-24 19:00:00'.

TZ=America/Los_Angeles tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 20:00:00"
ERROR: <class 'Exception'> : Cannot find any episode with timestamp matching '2023-01-24 20:00:00'.

TZ=America/Anchorage tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 19:00:00"
ERROR: <class 'Exception'> : Cannot find any episode with timestamp matching '2023-01-24 19:00:00'.

TZ=Pacific/Honolulu tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 19:00:00"
ERROR: <class 'Exception'> : Cannot find any episode with timestamp matching '2023-01-24 19:00:00'.

How often does it reproduce? Is there a required condition?

These 3 failures reproduce every time.

What is the expected behaviour?

What do you see instead?

Additional information

SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 10, 2023
In tvmaze.py "lookup by timestamp", there is logic to consider
it a match if the recording is a little bit early. This helps
cases where you set up a rule to record, at say 9:00, and the
broadcaster uses a slightly odd start time, like 9:05. The
code set minTimeDelta to 60 minutes, which allowed such a
match, even if the show started a full hour before the start
time in the TvMaze database.

This minTimeDelta value was way too big. For a 7pm show, it
caused a false match to an 8pm show found in the TvMaze
database. We need to use a smaller default value. Certainly
less than 1 hour. Most TV episodes are either 30 minutes or
60 minutes, so we should set this value smaller than 30
minutes to avoid the same sort of problem with 30 minute
shows.

In this commit, minTimeDelta is now defaulted to 20 minutes.

Refs: MythTV#717
SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 10, 2023
From https://www.tvmaze.com/faq/15/episodes :
  To ensure that the episode airdates on TVmaze are
  in line with the dates used by TV guides and listings
  worldwide, episodes that start airing at or after
  midnight but before 5:00 are considered part of the
  previous day.

This commit checks for a starting time prior to 5am.
If found, the date of the previous day will be used
when searching for episodes.

Refs: MythTV#717
SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 10, 2023
This update allows a user to specify a Rebroadcast
Delay for use in a "Lookup by Timestamp". It wasn't
clear if this should be done with an extra argument
or with an environmental variable, so both have
been implemented.

The user may add the number of minutes for the
Rebroadcast Delay as a third argument
  tvmaze.py -N <title> <date time> <rbdelay>
or they may set an environmental variable.
  MYTH_REBROADCAST_DELAY=60 tvmaze.py -N <title> <date time>

The delay is in minutes because in some locations,
there are some timezone offsets in 15 or 30 minute
increments. It's possible that there could be
Rebroadcast Delays with similar characteristics.

I'm not certain that Rebroadcast Delay is always a
positive number, so specification of a negative
number of minutes is supported.

Here are a couple of examples of specifying the Rebroadcast Delay:

$ TZ=America/Denver tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 19:00:00" 60
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
  <item>
    <title>9-1-1: Lone Star</title>
    <subtitle>The New Hotness</subtitle>
    <description>The 126 are called into action to a county fair when a fast-moving group of severe thunderstorms hit Austin, Texas; Owen's newfound passion for motorcycling puts him on a potentially dangerous path; Tommy meets an attractive single father.</description>
    <season>4</season>
    <episode>1</episode>
    <inetref>42164</inetref>
...

MYTH_REBROADCAST_DELAY=180 TZ=America/Los_Angeles tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 20:00:00"
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
  <item>
    <title>9-1-1: Lone Star</title>
    <subtitle>The New Hotness</subtitle>
    <description>The 126 are called into action to a county fair when a fast-moving group of severe thunderstorms hit Austin, Texas; Owen's newfound passion for motorcycling puts him on a potentially dangerous path; Tommy meets an attractive single father.</description>
    <season>4</season>
    <episode>1</episode>
    <inetref>42164</inetref>
...

Resolves: MythTV#717
@rcrdnalor rcrdnalor self-assigned this Feb 11, 2023
@rcrdnalor
Copy link
Contributor

Ad
mrdStr = os.environ.get('MYTH_REBROADCAST_DELAY')
Please remove the usage of environment variables.
Environment variables should only be used to operate on global settings, not to change settings which only apply to a specific area or location.
The primary job of a metadata data grabber is to report verbatim the requested data.
Any guessing or heuristic should be avoided on this level.

@SteveErl
Copy link
Contributor Author

SteveErl commented Feb 12, 2023

I thought about using an environmental variable to avoid changing the TV grabber API. I'm fine with removing that code, but it will introduce a new syntax:
grabber -N title subtitle rbdelay
which may need to be implemented for each of the TV grabbers.

A future step will be to add a way for the user to specify their Rebroadcast Delay in the MythTv database. The code which calls the grabber script will be modified to add a 3rd argument to pass Rebroadcast Delay, when it is defined.

Of the current TV grabber scripts, only one (tvmaze.py) will know how to handle this new argument. The other scripts will fail immediately, saying wrong number of arguments. Will it be okay to modify tmdb3tv.py and ttvdb4.py to allow, but ignore, this new argument? Alternatively, we can call the scripts with and without the rbdelay argument. If Rebroadcast Delay is defined, call -N with rbdelay. If that fails, call -N without rbdelay. That logic would work, but for tmdb3tv.py and ttvdb4.py users, it would add a new, always failing script invocation for every metadata lookup.

SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 12, 2023
This update allows a user to specify a Rebroadcast
Delay for use in a "Lookup by Timestamp".

The user may add the number of minutes for the
Rebroadcast Delay as a third argument for -N:
  tvmaze.py -N <title> <date time> <rbdelay>

The delay is in minutes because in some locations,
there are some timezone offsets in 15 or 30 minute
increments. It's possible that there could be
Rebroadcast Delays with similar characteristics.

I'm not certain that Rebroadcast Delay is always a
positive number, so specification of a negative
number of minutes is supported.

Here is an example of specifying the Rebroadcast Delay. In
the US "Mountain" region the Rebroadcast Delay is 60 minutes.

$ TZ=America/Denver tvmaze.py -l en -a US -N "9-1-1: Lone Star" "2023-01-24 19:00:00" 60
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
  <item>
    <title>9-1-1: Lone Star</title>
    <subtitle>The New Hotness</subtitle>
    <description>The 126 are called into action to a county fair when a fast-moving group of severe thunderstorms hit Austin, Texas; Owen's newfound passion for motorcycling puts him on a potentially dangerous path; Tommy meets an attractive single father.</description>
    <season>4</season>
    <episode>1</episode>
    <inetref>42164</inetref>
...

The previous implementation allowed specifying the
Rebroadcast Delay with an environmental variable. That
functionality is now removed.

Resolves: MythTV#717
@rcrdnalor
Copy link
Contributor

Please see my comments on 81e782c , too.
Please describe your daily workflow and what you like to improve with these patches.

SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 13, 2023
In tvmaze.py "lookup by timestamp", there is logic to
consider it a match if the recording is a little bit
early. This helps, for example, if you set up a Manual
Record rule to start at 8:00, but the broadcaster
starts the show at 8:01 or 8:05.

In tvmaze.py, we used to allow an early match for
episodes starting as much as 60 minutes earlier,
but that caused problems.

In this new implementation, we limit the early
match period to, at most, half of the episode
length. This removes the problem of a false
match for a rerun episode followed by a new
episode. If the episode is 60 minutes, then
the maximum early match period is 30 minutes.
If it's 7 minutes, then the maximum early
match period is 3.5 minutes.

Refs: MythTV#717
@SteveErl
Copy link
Contributor Author

@rcrdnalor : I'm not sure what you're asking for by "daily workflow".

The purpose of these improvements is to make TvMaze lookup by timestamp work more reliably.

It shouldn't give false results for a rerun episode.

It should conform to the TvMaze policy which states that episodes that start airing at or after midnight but before 5:00 are considered part of the previous day.

It should work for people living in timezones which implement Rebroadcast Delays.

@rcrdnalor
Copy link
Contributor

rcrdnalor commented Feb 16, 2023

Looking a the linked reference https://en.wikipedia.org/wiki/Broadcast_delay
It is not clear to me if the broadcast delay you want to use is really a constant.
Consider the following case:
A user has subscriptions to cable-TV, satellite and OTA providers/networks or stations.
Do all theses systems use the same amount of 'MYTH_REBROADCAST_DELAY' ?
Please ask the forum and the mythtv lists for that, especially for
Australia, Canada, Mexico and the United States.
If so, you can establish a global setting in the mythconverg.settings table and use
it in tvmaze.py directly.
Otherwise, it is a property of the channel/multiplex and this needs further discussion.

@rcrdnalor
Copy link
Contributor

rcrdnalor commented Feb 25, 2023

A future step will be to add a way for the user to specify their Rebroadcast Delay in the MythTv database. The code which calls > the grabber script will be modified to add a 3rd argument to pass Rebroadcast Delay, when it is defined.

Since the feedback from the forum and the mailing list did not show up new ideas and perspectives,
please implement the rebroadcast-delay directly in the 'mythconverg' database as global value but let 'tvmaze.py' fetch this global value directly.
An example code using the python bindings:

$ python3
>>> from MythTV import MythDB
>>> db = MythDB()
>>> db.settings['NULL']['RecordOverTime']
'0'
>>> 
>>> x = db.settings['NULL']['blah']
>>> x
>>> 
>>> type(x)
<class 'NoneType'>
>>> 
>>> db.settings['NULL']['blah'] = '4711'
>>> y = db.settings['NULL']['blah']
>>> y
'4711'

Values are stored as strings an return 'None' if not existent.
As suggested, please implement an additional parameter for 'tvmaze.py' for the rebroadcast-delay which can be used on the command line for testing. The passed value should override the value retrieved from the database.
Do not change the global API from MythTV for calling metadata grabber scripts by now.
An additional option for tvmaze.py to set this global value is welcomed.

SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 28, 2023
The tvmaze.py metadata grabber script has been updated
to acquire an optional Rebroadcast Delay from the
MythTv database. The database is only read when we
know it's a 'Lookup by Timestamp' and no Rebroadcast
Delay has been specified on the command line.

This allows us to use the Rebroadcast Delay without
having to update the callers of the grabber to add
a new argument.

Refs: MythTV#717
@SteveErl
Copy link
Contributor Author

SteveErl commented Feb 28, 2023

Thanks for the example code. I've used it to implement the solution you suggested, and have just committed that update.

I've got a possible implementation for the configuration code.

diff --git a/mythtv/programs/mythfrontend/globalsettings.cpp b/mythtv/programs/mythfrontend/globalsettings.cpp
index e6fa6af3f3..3024aec016 100644
--- a/mythtv/programs/mythfrontend/globalsettings.cpp
+++ b/mythtv/programs/mythfrontend/globalsettings.cpp
@@ -733,6 +733,23 @@ static GroupSetting *CategoryOverTimeSettings()
     return vcg;
 }
 
+static GlobalSpinBoxSetting *RebroadcastDelay()
+{
+    auto *bs = new GlobalSpinBoxSetting("RebroadcastDelay", -1440, 1440, 1, 30);
+
+    bs->setLabel(GeneralSettings::tr("Rebroadcast Delay (minutes)"));
+
+    bs->setValue(0);
+
+    bs->setHelpText(GeneralSettings::tr("This global setting allows specification "
+                                        "of a Rebroadcast Delay. If you "
+                                        "live in a region where non-live "
+                                        "shows are delayed to fit them into "
+                                        "a preferable timespan, set the number "
+                                        "of minutes for this delay period."));
+    return bs;
+}
+
 PlaybackProfileItemConfig::PlaybackProfileItemConfig(
     PlaybackProfileConfig *parent, uint idx, MythVideoProfileItem &_item) :
     m_item(_item), m_parentConfig(parent), m_index(idx)
@@ -4532,6 +4549,7 @@ GeneralSettings::GeneralSettings()
     general2->addChild(MaxEndGap());
     general2->addChild(MinimumRecordingQuality());
     general2->addChild(CategoryOverTimeSettings());
+    general2->addChild(RebroadcastDelay());
     addChild(general2);
 
     auto *changrp = new GroupSetting();

This places the configuration under Setup -> Video -> General -> General (Advanced)

It works well, but I'm not sure if it's an ideal location. I like that the other configuration values on this page are similar. Mostly integer values which the user can increment or decrement or enter directly. Is this a reasonable configuration spot? Would some other spot be better? I considered Setup -> Artwork and Data Sources but we're not really setting either of those, and it was hard to track down the code which services that configuration page.

@rcrdnalor
Copy link
Contributor

rcrdnalor commented Feb 28, 2023

An additional option for tvmaze.py to set this global value is welcomed.

I apologize for being unclear. I meant something like

tvmaze.py --set_rebroadcastdely 120

which stores the value in the mythconverg.settings table immediately.
The last 4 lines of my example code should do this, at least on my - limited - testing.

SteveErl added a commit to SteveErl/mythtv that referenced this issue Feb 28, 2023
An option has been added to tvmaze.py to set
the Rebroadcast Delay in the MythTv database.
The syntax is
    tvmaze.py --rebroadcastdelay <minutes>

<minutes> is an integer in the range (-1440, 1440)

Refs: MythTV#717
@SteveErl
Copy link
Contributor Author

I've added an option to set the Rebroadcast Delay in tvmaze.py. I still think it should also be settable in MythTv Setup.

@SteveErl
Copy link
Contributor Author

SteveErl commented Mar 1, 2023

I have found a case where Rebroadcast Delay doesn't work well. I examined TV listings across Canada one night this week to see if there are consistent Rebroadcast Delays. There are 8 timezone regions in Canada. A large portion of the content were programs originating from the United States. We'll start with the original broadcast times for the shows in the US (which is how they get stored in the TvMaze database), and compare to the broadcast times in different Canadian regions.

America/New_York:
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|               |The Rookie     |The Rookie:Feds|Will Trent     |
|               |FBI            |FBI Int        |FBI Most Wanted|
|               |911:Lone Star  |Accused        |               |
|               |               |La Brea        |La Brea        |
+---------------+---------------+---------------+---------------+

St John's (Canada/Newfoundland):
        | 7:30 pm       | 8:30 pm       | 9:30 pm       | 10:30 pm      | 11:30 pm      |
        +---------------+---------------+---------------+---------------+---------------+
        |The Rookie     |Will Trent     |911:Lone Star  |The Rookie:Feds|               |
        |               |FBI Most Wanted|FBI            |FBI Int        |               |
        |               |               |FBI            |FBI Int        |FBI Most Wanted|
        |               |               |               |La Brea        |La Brea        |

Halifax (Canada/Atlantic):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|The Rookie     |Will Trent     |911:Lone Star  |The Rookie:Feds|
|               |FBI            |FBI Int        |FBI Most Wanted|
+---------------+---------------+---------------+---------------+

Toronto (Canada/Eastern):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|The Rookie     |911:Lone Star  |The Rookie:Feds|Will Trent     |
|               |FBI            |FBI Int        |FBI Most Wanted|
+---------------+---------------+---------------+---------------+

Winnipeg (Canada/Central):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|911:Lone Star  |The Rookie     |The Rookie:Feds|Will Trent     |
|The Rookie     |The Rookie:Feds|Will Trent     |               |
|FBI            |FBI Int        |FBI Most Wanted|               |
+---------------+---------------+---------------+---------------+

Halifax (Canada/Mountain):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|The Rookie     |Will Trent     |911:Lone Star  |The Rookie:Feds|
|               |FBI Most Wanted|FBI            |FBI Int        |
+---------------+---------------+---------------+---------------+

Regina (Canada/Saskatchewan):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|911:Lone Star  |The Rookie     |Will Trent     |The Rookie:Feds|
|FBI            |FBI Int        |FBI Most Wanted|               |
+---------------+---------------+---------------+---------------+

Vancouver (Canada/Pacific):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         |
+---------------+---------------+---------------+---------------+
|The Rookie     |911:Lone Star  |The Rookie:Feds|Will Trent     |
|FBI            |FBI Int        |FBI Most Wanted|               |
+---------------+---------------+---------------+---------------+

Whitehorse (Canada/Yukon):
| 7 pm          | 8 pm          | 9 pm          | 10 pm         | 11 pm         | 12 am         |
+---------------+---------------+---------------+---------------+---------------+---------------+
|               |               |               |The Rookie     |The Rookie:Feds|Will Trent     |
|               |               |               |FBI            |FBI Int        |FBI Most Wanted|
|               |La Brea        |La Brea        |               |               |               |
+---------------+---------------+---------------+---------------+---------------+---------------+

You can see that Canada spreads Primetime shows across at least 4 hours, compared to the standard 3 hours in the US. In the US, broadcasters air the same shows in the same order across each region. In Canada, they shuffle the order of shows from region to region. In the Canada/Central region they aired the same show at different times on different channels. There's no single Rebroadcast Delay or set of multiple Rebroadcast Delays per region which would work consistently.

We could work around these issues with a compromise. At least 95% of the time TV shows have only one episode per day or per week. Say we have a recording without an exact time match. We have a list of episodes for the given day. If there's only one such episode, we could presume that it's a date match for the recording. In the example listings above, this would work for all the shows except for 'La Brea' which aired two episodes in one day. The following would implement this work around:

@@ -421,6 +421,19 @@ def buildNumbers(args, opts):
                         if opts.debug:
                             print('Adding rebroadcast episode \'%s\' to date match list' % ep)
                         date_match_list.append(i)
+                # If there is only one episode of this show on this day,
+                # consider it a date match. We don't want to do this
+                # when there are multiple episodes because we don't know
+                # which of those episodes matches the current recording.
+                elif len(episodes) == 1:
+                    if opts.debug:
+                        if epInTgtZone > dtInTgtZone:
+                            print('Adding episode \'%s\' to date match list. Offset = %s' \
+                                % (episodes[i], epInTgtZone - dtInTgtZone))
+                        else:
+                            print('Adding episode \'%s\' to date match list. Offset = %s' \
+                                % (episodes[i], dtInTgtZone - epInTgtZone))
+                    date_match_list.append(i)

The downside of this compromise is that for a show which airs a rerun episode followed by a new episode, we would end up assigning the metadata for the new episode to recordings of both episodes.

In the United States, we'd get the precise episode information for all the shows including both episodes of 'La Brea' if the Rebroadcast Delay is properly set. In Canada, we'd get precise episode information for everything except 'La Brea' in every region. Both 'La Brea' episodes would get assigned generic series information.

SteveErl added a commit to SteveErl/mythtv that referenced this issue Mar 3, 2023
When running a match-by-timestamp in tvmaze.py,
if there is only one episode on the given date,
consider it a date match. This will help us get
precise metadata even if the timezone offset and
rebroadcast delay adjustments don't give us an
exact timing match.

Refs: MythTV#717
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants