You are here

WebGrab + Plugin/Addon I am developing

3 posts / 0 new
Last post
gdogg371
Offline
Donator
Joined: 4 years
Last seen: 2 years
WebGrab + Plugin/Addon I am developing

Hi all,

I'm putting this here instead of under the developer thread, as I am interested in gauging interest/comments/feedback from WG+ end users about a project I am working on to make using WG+ more user friendly. So far my project will:

1) Go to the WG+ site and check that the .exe is the most recent version.
2) Download and replace the site.ini package in you installation with the most recent one from the WG+ page.
3) Refresh all the channel number inputs to the .ini files for each scraper.
4) Extract channel lists for the Sky Q UK STB, Enigma2 boxes and (TBC) Stalker STB's.
5) Groups all available tv channels and scrapers within site.ini that generate these into a data structure the program can easily digest.
6) Create a physical 'threads' for parallel execution. This basically means:
- Create multiple copies of the WG.exe, site.ini package, config.xml, guide.xml etc.
- Then assign one physical 'thread' to virtual ones in Python and process scrapers in parallel.
- It's only running in serial at present, but parallel will be coming soon.
7) Will then look up your STB channels vs available channels and iterate through the available scrapers for these until valid XML data is generated.
8) Creates a series of staging guide.xml files, one per channel/scraper combo generated.
9) Then using the XMLTV.exe freeware will validate each guide.xml file (if I can get this step to work properly!).
10) Join together and sort all the individual .xml files into a final guide.xml file.
11) Will merge in to the final guide.xml either the STB channel numbers from the boxes, or a user generated map instead.
12) Will then clean up after itself and produce an output log.

...I already have most of the above steps running in prototype form, but I'm willing to put in some effort to make a usable plugin that non developers can hopefully find beneficial if the interest is there. So far, even running in serial, I have it generating one day's worth of channel data for 240 channels in about 20 minutes.

Reason I want parallel execution is I have a Stalker box with about 8,000 channels on it. If I eventually manage to get a channel list dump and blaster script built for that, serial execution will be too slow.

I think WG+ is great as it is, but I'd like to develop my plugin to the point where you can use it as an addon for WG+ as a standalone program. Further down the road I'd like to then take that add on and make a Kodi and NPVR plugin out of it as well...

Please let me know your thoughts...

Thanks

Chris

mat8861
Offline
WG++ Team memberDonator
Joined: 9 years
Last seen: 7 hours

Not clear what you want to end up with, anyway as i am also an stb user, there are several "problems" to face with. We worked with Sayyid, the author of e-channelizer to have a simple way to assign epg to channels. Now despite if they are iptv, satellite or terrestrial the program automatically assign epg to stb, of course the first time you need to have a look during assignment, as the perfect match do not exist, then after every import with epg-import plugin, runs smoothly. Years ago we where extracting channel list (see enigma site.ini) which had the problem of being it update, another problem was the language, as you can understand "sky cinema" can be in english, italian, german etc. etc. and we had to add in the xmltv_id the language. In conclusion the best is to have separate epg by country and then import. A nice thing would be run wg++ on stb but it's not worth it the trouble, an stb would handle it with difficulties or not at all.

gdogg371
Offline
Donator
Joined: 4 years
Last seen: 2 years

Hi - when im done I will post a video of it my project in action...I have it currently scraping about 250 channels in 20 minutes, using parallel execution. The code will also download and update all the channel files in parallel to get up to date numbers.

It then distinguishes between channels in different countries with the same name and groups together sets of scrapers that have channel data for each country (whilst keeping the same channel in italian and german separate for example).

The code will try a scraper assigned to that country/channel pairing and if that does not work it will try another scraper until it finds one that works. In some cases none of the scrapers on WG+ will work. After that it moves on.

For my Sky Q STB, I have 275 ish channels and I am getting a match for 235 channels roughly. For 30 channels non of the scrapers work and the rest are being killed by a 30 second time out rule.

I have my own scraper for Sky that I will feed these error channels to, to see if that can mop up the remainder. For my Enigma2 box (pointed to Hotbird 13e) and my Stalker box (europe, north africa and the middle east focused) I will be using the WG+ grabbers.

It's taking a long time to get this to work, but it's getting more and more slick now. Going to have it so that it will do a fast load of a single day's data and then run a second scan in the background pulling in as many day's as the user wants, so that you don't have to wait a long time for an initial channel load...

Log in or register to post comments

Brought to you by Jan van Straaten

Program Development - Jan van Straaten ------- Web design - Francis De Paemeleere
Supported by: servercare.nl