![]() |
Updated XMLTV Plugin with compile steps
2 Attachment(s)
In an effort for some IPTV channels I am working for importing into SageTV I updated the plugin for more use cases. The changes below should work with most XMLTV grabbers. Also for future development there are easy steps for compiling the plugin on the Unraid Docker image. The Unraid Docker Image already has the required java_jdk installed for compiling. In the future I might look into the the ICON working as the data is also stored inside the XMLTV file.
(Warning me venting) The original was not touched since the beginning of SageTv and impossible to use without remapping or using scripting for remapping channels. It is almost like the developers of SageTV wanted everyone to use their guide data or SD. As for SD the plus is that it gives 2 weeks of data with more info than XMLTV grabbers thus being a good value. Also to be fair to SageTV they also did give a good run(~15 years) with their guide data. Any case with SageTV on its last leg this needs to change as other DVR development have XMLTV native. Viva La SageTV :) 1. Stop SageTV Server 2. Rename on add/modify/ xmltv_EXAMPLE.properties examples 3. Copy all files and folder contents(not folder) of folder SAGETV_SERVER_ROOT to SageTV folder. Only Jar and *.proerties are required if not compiling required 4. Add the following line in Sage.properties epg/epg_import_plugin=xmltv.XMLTVImportPlugin 5. Start SageTV Server 6. Monitor in server folder xmltv.log, sagetv_0.txt,Sage.properties. If epg/epg_import_plugin=xmltv.XMLTVImportPlugin is removed from Sage.properties something is installed not correctly 7. In SageTV guide setup use XMLTV with zipcode 00000. If ask for license use TRIAL #######Commnds for UnRaid Docker to Moditfy Sage.properties for Plugin # Stop Sage Server sudo -E "PATH=$PATH" -u sagetv /usr/local/bin/stopsage & # Property Setting for EPG Plugin sudo sed -i 'epg/epg_import_plugin' /opt/sagetv/server/Sage.properties sudo echo 'epg/epg_import_plugin=xmltv.XMLTVImportPlugin' >> /opt/sagetv/server/Sage.properties # Start Sage Server sudo -E "PATH=$PATH" -u sagetv /usr/local/bin/startsage & #########Commnds for UnRaid Docker Compile of Plugin cd /opt/sagetv/server/xmltv sh ondocker_build.sh Code:
https://forums.sagetv.com/forums/att...1&d=1642548450 |
2 Attachment(s)
The auto mapping works great.
The problem that remains for me is how sagetv reads the epg provided by Channels dvr. As @nyplayer pointed out over in the hardware thread, sagetv does some strange things with the names of movies and the titles of series when the epg comes form channels dvr. See the attached pictures. The same thing happens when I send the epg from channels dvr through xteve. |
Quote:
|
1 Attachment(s)
I have attached a sample. I dont know where to access the Schedules Direct version for comparison though. I can confirm from experimentation that the current format from the channels dvr server works flawlessly with nextpvr and even with mythtv.
|
Quote:
|
Quote:
|
Quote:
Yeah the names and epgid etc ...also season and episode even though it is there is not recognized by SageTV. So I went with a sched direct west coast and east coast lineup.... and manually mapped channels I wanted. |
Quote:
Thanks |
Quote:
|
Quote:
I know for sure there is no original airdate parsed season episode parsed as misc.... and epgid data is wrong ... https://forums.sagetv.com/forums/showthread.php?t=66885 |
5 Attachment(s)
The pictures are below.
The xmltv info for The Angry Birds is: Quote:
Quote:
@nyplayer I didn't see your recent posts on your attempt to fix this until just now when you linked to it. If you have managed to fix any part of what I have here let me know. |
WTF :bang:
Code:
String title = this.show.title; |
Quote:
|
Quote:
|
I am getting this error ... on Windows. All I want to test is bringing in epgdata.xml which is in the SageTV root directory ... no XTEVE yet.
14-01-2022 04:47:29,860 java.lang.NoClassDefFoundError: xmltv/Channel at xmltv.XMLTVImportPlugin.startElement(XMLTVImportPlugin.java:1431) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at xmltv.XMLTVImportPlugin.updateGuide(XMLTVImportPlugin.java:1299) at xmltv.XMLTVImportPlugin.updateGuide(XMLTVImportPlugin.java:1204) at sage.EPG.pluginExtractGuide(EPG.java:1625) at sage.WarlockRipper.extractGuide(WarlockRipper.java:973) at sage.EPGDataSource.expand(EPGDataSource.java:709) at sage.EPG.run(EPG.java:773) at java.lang.Thread.run(Unknown Source) 14-01-2022 04:47:29,860 java.lang.NoClassDefFoundError: xmltv/Channel at xmltv.XMLTVImportPlugin.updateGuide(XMLTVImportPlugin.java:1311) at xmltv.XMLTVImportPlugin.updateGuide(XMLTVImportPlugin.java:1204) at sage.EPG.pluginExtractGuide(EPG.java:1625) at sage.WarlockRipper.extractGuide(WarlockRipper.java:973) at sage.EPGDataSource.expand(EPGDataSource.java:709) at sage.EPG.run(EPG.java:773) at java.lang.Thread.run(Unknown Source) |
Quote:
I think this was caused because the docker I'm using is Java16 and I did not compile for lower version of java. Can you test the attached version it was compiled for 8 or higher of java. |
1 Attachment(s)
These are the error logs and my xmltv.properties... I might be doing something wrong in the setup.
|
What Java are using? Also how did you install? You should only need the .Jar file copied to you servers JARs folder. Make sure you do not have older versions of the plugin in the same folder(.jar or folders). Also any xmltv folder in the root of the Server or in the JARs referencing the older version need to be renamed
|
Quote:
I am going to try a full fresh install of SageTV there might be some stuff from the old XMLTV around. |
Quote:
1. Installed with latest SageTv 64bit installer 2. Ran SageTV First time 3. Stop SageTV 4. copy the XMLTVImportPlugin.jar in SageTv Jars folder 5. Add the following line in Sage.properties epg/epg_import_plugin=xmltv.XMLTVImportPlugin 6. Copied a XMLTV FILE name epgdata.xml 7. Start SageTV 8. Source Setup->EPG Lineup 9. Zip Code 0000 10. Will list XMLTV Lineup 11. Use extended The plugin will work with out any .properties file if epgdata.xml in the root of the SageTV server directory. It will give error in xmltv.error.log for not finding the .properties but still work(This is a bug and need correcting). The .properties are used if you want to do customizations and add multiple lineups. The examples I provided 2 examples that give the guide a different name and location of the XMLTV file. |
All times are GMT -6. The time now is 09:27 PM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.