raydouglass / xmltv-to-mxf

Converts XMLTV to WMC MXF format
GNU General Public License v3.0
6 stars 3 forks source link

Generic/identical programs parsed as unique #3

Open tonywagner opened 4 years ago

tonywagner commented 4 years ago

It seems like every program is parsed as unique, even if it is generic or identical to another by dd_progid.

The problem might be that lines 240-241 of src/main/java/com/dontocsata/xmltv/XmlTvParser.java always seem to evaluate to null, even when a previous program shares the same uid, so a new program entry is always created in storage:

            Program prog = storage.getProgram(p.getUid());
            if (prog == null) {

If we can correct that, and also change line 59 of src/main/java/com/dontocsata/xmltv/model/XmlTvProgram.java so any program (not just of type "EPISODE") can share the same uid based on identical dd_progid values, we can add support for WMC's isGeneric="true" program flag for those of type "SHOW" (i.e. dd_progid of SHxxxxxxxx.xxxx). In my XMLTV, this includes a lot of local news, sports pre- and post-games, some paid programming, etc.

raydouglass commented 4 years ago

@tonywagner Do you think you could provide a sample XMLTV that demonstrates this issue? Unfortunately, I don't actively use XMLTV or WMC anymore, so I don't have any good examples to work with.

jeneral commented 4 years ago

I have attached an xml of 3 days of my local antenna channels. If you search for CTV News Toronto (dd_progid SH02044054.0000). Using your converter, it is not possible to record a series of a daily news program; only single episodes are possible.

xmltv.zip

There is also an issue with Categories not being tagged correctly so the color doesn't appear in the guide. gridview. According to MS it has to do with the Program element:

isMovie bool false Indicates whether the program is a movie. This value determines whether the program appears in the Movies category of the Guide grid and in other movie-related locations.
isSpecial bool false Indicates whether the program is a special. This value is used in the Guide's grid view categories.
isSports bool false Indicates whether the program is a sports program. This value is used in the Guide's grid view categories.
isNews bool false Indicates whether the program is a news show. This value is used in the Guide's grid view categories.
isKids bool false Indicates whether the program is for children. This value is used in the Guide's grid view categories.
Git-CRF commented 4 years ago

I too have seen this problem. I have attached my seven days OTA data (input and output). What I noticed is that almost all (but not all) News programs don't have a SeriesInfo entry. I noticed it because I record the series "60 Minutes" and wasn't able to once I load my mxf. After checking 6 other News programs, I found that only one of them was registered as a series, even thou they all are marked as series in the xmltv file.

Carl

Series.zip

jeneral commented 4 years ago

Hi Carl,

I recommend using EPG Collector instead of this program. That app imports xmls perfectly and the developer is very active with any issues.

raydouglass commented 4 years ago

I recommend using EPG Collector instead of this program. That app imports xmls perfectly and the developer is very active with any issues.

I also recommend checking out EPG123. That's what I used 4 years ago instead of my own program.

Git-CRF commented 4 years ago

I have used EPG123 in the past (and had issues getting it working). If I need full support and detail listing, then EPG123 is the way to go. I have also used EPGC, but it has issues with zap2it data that doesn't have the originalAirdate values, where as this program does a better job (for the most part). I did find a case where it generated a scheduleentry where it had both the isMovie and isSeries tags set at the same time, but the xmlt input file only had the Series tag.