Jump to content


Photo

Creating custom rytec xml with web grab


  • Please log in to reply
22 replies to this topic

Re: Creating custom rytec xml with web grab #21 marcel19850

  • Member
  • 3 posts

0
Neutral

Posted 8 December 2016 - 14:56

Thanks everything works ;)



Re: Creating custom rytec xml with web grab #22 xsony_ngux

  • Member
  • 1 posts

0
Neutral

Posted 10 June 2017 - 01:40

Hi, I have been exporting my epg from one enigma 2 receiver using Web grab plus and open webif, I then created the corresponding channel.xml and the epg xml file created by webgrab+, I then created the rytec file and placed it into the crossepg providers folder with the correct links to the files and mapped the channels in the channel xml but for some reason the import hangs on loading, I have test on 2 recivers and hangs on both, I want to export the epg from one to the other because one receiver downloads my operators epg in he preferred language properly but the other doesnt and shows it in a different language(default), I want to import the epg from one receiver onto the other as both receivers have cross epg. I would appreciate some help on the correct web grabber xml settings for the rytec import to work or any other setting that could be wrong.

Hi, please can you tell me how you imported using the web grab plus?

 

I'm struggling i have downloaded EPG ini file which contains an XML and INI file for each country and sites.

 

 

Not sure how i'm meant to get the service references or the script working for XMLTV Import,

 

Many thanks for help.


Edited by xsony_ngux, 10 June 2017 - 01:40.


Re: Creating custom rytec xml with web grab #23 doglover

  • Rytec EPG Team
  • 17,003 posts

+637
Excellent

Posted 10 June 2017 - 06:47

Your question indicates, that you are a newbie in this subject.

 

First the definition of XMLTV:

 

XMLTV is a structere way of representing a TV listing.  It doesn't explicitly group programmes by day or by channel, instead broadcast time and channel are attributes of the 'programme' element.  Optionally, data about the TV channels used can be stored in 'channel' elements.

Data about a TV programme are stored in the subelements of element 'programme', but metadata such as when it will be broadcast are stored as attributes.

Many of the details have a 'lang' attribute so that you can store them in multiple languages or have mixed languages in a single listing.  This 'lang' should be the two-letter code such as 'en' or 'fr_FR'.  Or you can just leave it out and let your reader take a guess.

Unless otherwise specified, an element containing CDATA must have some text if it is written.

An example XML file for this might look like this:

<tv generator-info-name="my listings generator">
  <channel id="3sat.de">
    <display-name lang="de">3SAT</display-name>
  </channel>
  <channel id="das-erste.de">
    <display-name lang="de">ARD</display-name>
    <display-name lang="de">Das Erste</display-name>
  </channel>
  <programme start="200006031633" channel="3sat.de">
    <title lang="de">blah</title>
    <title lang="en">blah</title>
    <desc lang="de">
       Blah Blah Blah.
    </desc>
    <credits>
      <director>blah</director>
      <actor>a</actor>
      <actor>b</actor>
    </credits>
    <date>19901011</date>
    <country>ES</country>
    <episode-num system="xmltv_ns">2 . 9 . 0/1</episode-num>
    <video>
      <aspect>16:9</aspect>
    </video>
    <rating system="MPAA">
      <value>PG</value>
      <icon src="pg_symbol.png" />
    </rating>
    <star-rating>
      <value>3/3</value>
    </star-rating>
  </programme>
  <programme> ... </programme>
  ...
</tv>

Now webgrab++ is a program which is used to produce these XMLTV files from TV-schedules published on websites.

See the Webgrab++ homepage.

 

Webgrab++ is a program which runs on Windows or Linux PC's.  It does not run on an enigma2 receiver.  (Some Kodi machines can run Webgrab++)

 

So first you produce an XMLTV file, which in the next stage can be imported into enigma2.

 

In the second stage you import the XMLTV file into enigma2 by using XMLTVimport (or CrossEPG - although this program has its flaws, and if you read this forum, you will know my feelings about CrossEPG)

 

In order to import via XMLTVimport you need to tell the importer, where to find the files, and construct a set of links between the EPGreference and the service reference of the channel.  This is done in 2 configuration files of XMLTVimport.  Namely xxx.sources.xml and xxx.channels.xml (or xxx.channels.xml.gz).  When you install XMLTVimport on you receiver the rytec versions of these files are installed as well.  If you want to use your own files you will need to construct your own files.  (replace the xxx in the file name with your own choice.)  How to do that is described in our FAQ's.  You can find them here on the forum as a pinned subject.

 

The channels file is a list which links the EPGreference to a certain Service Reference.

Examples:

<channel id="Filmbox.cz">1:0:16:AA2:9DD0:16E:A00000:0:0:0:</channel> <!--  Filmbox -->
<channel id="FilmboxExtra.cz">1:0:19:A9D:9DD0:16E:A00000:0:0:0:</channel> <!--  Filmbox Extra HD -->
<channel id="FilmboxPlus.cz">1:0:19:A9E:9DD0:16E:A00000:0:0:0:</channel> <!--  Filmbox Plus -->
<channel id="FilmboxPremium.cz">1:0:16:A9F:9DD0:16E:A00000:0:0:0:</channel> <!--  FilmBox Premium -->
<channel id="FilmEurope.cz">1:0:16:48A:76C0:16E:A00000:0:0:0:</channel> <!--  Film Europe -->
<channel id="FilmPlus.cz">1:0:16:48B:76C0:16E:A00000:0:0:0:</channel> <!--  Film+ (Czechia) -->
<channel id="HBO.cz">1:0:19:485:76C0:16E:A00000:0:0:0:</channel> <!--  HBO Czechia HD -->

Here the 1:0:16:AA2:9DD0:16E:A00000:0:0:0: is the Service reference which can be found in the receiver.

 

The EPGreference is Filmbox.cz.  This is the name you have defined in the webgrab++ file as the XMLTV reference (xmltv_id=)

<channel update="i" site="programy-tv.cz" site_id="2056459" xmltv_id="Filmbox.cz">Filmbox</channel>

BTW:  this name is free.  You can use whatever you want.  Be carefull though with special characters like & etc.

<!--  Filmbox -->

Is only a comment, and used to make everything human readable.

 

 

One final remark.

 

Engima2 has only 4 tags to store EPG. Date/time (start and stop), Title, Short description and Long description.

The XMLTVimport plug-in imports the data from  the XMLTV file as follows:

 

Date/time (start and stop) ==> Date/time (start and stop),

Title ==> Title

Subtitle ==> Short description

Description ==> Long description

 

All other XMLTV tags are disgarded.

In order to get this info also in the enigma2 receivers, I am using a small addition to each SiteIni I am using.  I add the following to each SiteIni:

*For classical credits - remove the next lines
category.modify {cleanup(removeduplicates)}
category.modify {cleanup}
actor.modify {cleanup}
director.modify {cleanup}
actor.modify {replace|\|\||\|}
description.modify {addend('director' not "" separator=", ")|\n'director'}
description.modify {addend('actor' not "" separator="\n")|\n'actor'}
actor.modify {clear} 
director.modify {clear}

subtitle.modify {addstart ('titleoriginal' not "") | ('titleoriginal')}
subtitle.modify {addend ('episode' not "") | ('episode')}
subtitle.modify {addend ('productiondate' not "") | ('productiondate')}
subtitle.modify {addstart ('category' not "") |['category'] }
subtitle.modify {addend ('rating' not "") | ['rating'] }

rating.modify {clear}
episode.modify {clear}
category.modify {clear}
productiondate.modify {clear}
titleoriginal.modify {clear}
writer.modify {clear}
producer.modify {clear}
composer.modify {clear}
starrating.modify {clear}
rating.modify {clear}
presenter.modify {clear} 
starrating.modify {clear}
videoquality.modify {clear}
videoaspect.modify {clear}

index_category.modify {cleanup(removeduplicates)}
index_category.modify {cleanup}
index_description.modify {addend ('index_director' not "" separator=", " )|\n'index_director'}
index_description.modify {addend ('index_actor' not "" separator=", " )|\n'index_actor'}
index_description.modify {addend ('index_presenter' not "" separator=", " )|\n'index_presenter'}

index_subtitle.modify {addstart ('index_titleoriginal' not "") | ('index_titleoriginal')}
index_subtitle.modify {addend ('index_episode' not "") | ('index_episode')}
index_subtitle.modify {addend ('index_productiondate' not "") | ('index_productiondate')}
index_subtitle.modify {addstart ('index_category' not "") |['index_category'] }
index_subtitle.modify {addend ('index_rating' not "") | ['index_rating'] }
index_writer.modify  {clear}
index_rating.modify {clear}
index_productiondate.modify {clear}
index_titleoriginal.modify {clear}
index_actor.modify {clear}
index_director.modify {clear}
index_presenter.modify {clear}
index_episode.modify {clear}
index_category.modify {clear}
index_videoquality.modify {clear}

description.modify {substring(type=char)|'description' 0 2300}
title.modify {substring(type=char)|'title' 0 80}
subtitle.modify {substring(type=char)|'subtitle' 0 160}
index_description.modify {substring(type=char)|'index_description' 0 2300}
index_title.modify {substring(type=char)|'index_title' 0 80}
index_subtitle.modify {substring(type=char)|'index_subtitle' 0 160}

This statements move the information to the subtitle and description tags, together with a bit of formatting.

 

Hope this explains thing.

 

Willy


Edited by doglover, 10 June 2017 - 06:50.

~~Rytec Team~~
Maxytec Multibox SE OpenPli (used as mediaplayer)
Mutant HD2400 OpenPli
Vu+ Duo OpenPli (backup)

Synology NAS

Sat: 13E, 19.2E, 23.5E and 28.2E
*Pli/Rytec EPG POWERED*



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users