raydouglass / xmltv-to-mxf

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

Ignore "No support for: ..." #7

Open Kick4U2 opened 4 years ago

Kick4U2 commented 4 years ago

Hello,

I've been a long time user of EPG123 and love it, but have a few channels that I'd like to have very basic title and description data from an XMLTV added to my guide within MCE.

I'm using an XML file that doesn't seem to work and I got this error initially: Error parsing XMLTV: No support for: iepg

After removing the single line that included the iepg tag, I got this error:

Reading XMLTV file: m:\iptv.xml...100.00%
Creating services
Creating lineupjava.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner
.java:53)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: No acceptable channel number found f
or: Channel [id=Caracol.co, displayNames=[Caracol CO], icon=http://static.iptv-e
pg.com/co/Caracol.co.png, url=null]
        at com.dontocsata.xmltv.model.XmlTvChannel.getChannelNumber(XmlTvChannel
.java:101)
        at com.dontocsata.xmltv.XmlTvParser.main(XmlTvParser.java:192)
        ... 6 more

Sorry for the long post with the XML file, but I couldn't upload XML files!

<?xml version="1.0" encoding="UTF-8"?>
<tv><channel id="Caracol.co">
    <display-name lang="es">Caracol CO</display-name>
    <url>http://www.mi.tv</url>
  <icon src="http://static.iptv-epg.com/co/Caracol.co.png"/></channel>
<programme start="20200414003000 -0400" stop="20200414010000 -0400" channel="Caracol.co">
    <title lang="es">La nocturna</title>
    <desc lang="es">Serie llena de dramas y emociones inspirada en las historias de millones de estudiantes en el mundo que recurren a la educación nocturna como única manera de salir adelante</desc>
    <category lang="es">Drama</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_la-nocturna_l_m.jpg"/>
  </programme>
<programme start="20200414010000 -0400" stop="20200414023000 -0400" channel="Caracol.co">
    <title lang="es">De que te quiero, te quiero</title>
    <desc lang="es">Narra la historia de Natalia y Diego, una pareja que verá amenazado su amor por la aparición de Ricardo, el malvado hermano gemelo de Diego, quien se hizo pasar por éste para intentar abusar de ella</desc>
    <category lang="es">Telenovela</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_de-que-te-quiero-te-quiero-1_l_m.jpg"/>
  </programme>
<programme start="20200414023000 -0400" stop="20200414213000 -0400" channel="Caracol.co">
    <title lang="es">También caerás</title>
    <desc lang="es">Es un programa de humor que lleva a las cámaras escondidas a otro nivel, poniendo a la gente común y corriente en situaciones extremadamente divertidas, mientras se graban sus reacciones espontáneas e impredecibles secretamente</desc>
    <category lang="es">Entretenimientos</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_tambien-caeras_l_m.jpg"/>
  </programme>
<programme start="20200414213000 -0400" stop="20200414223000 -0400" channel="Caracol.co">
    <title lang="es">La venganza de Analia</title>
    <category lang="es">Variedades</category>
    <icon src="https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg"/>
  </programme>
<programme start="20200414223000 -0400" stop="20200415003000 -0400" channel="Caracol.co">
    <title lang="es">El general Naranjo</title>
    <desc lang="es">El joven policía Óscar Naranjo se infiltra en una banda de traficantes de marihuana para dar fin a los capos, guerrilleros y corruptos que promueven el negocio. Pero cuando el sargento Cuevas es asesinado frente a su familia, el capitán, destrozado por la muerte de su amigo, decide buscar a los culpables para hacer justicia</desc>
    <category lang="es">Drama</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_el-general-naranjo_l_m.jpg"/>
  </programme>
<programme start="20200415003000 -0400" stop="20200415030000 -0400" channel="Caracol.co">
    <title lang="es">La venganza de Analia</title>
    <category lang="es">Variedades</category>
    <icon src="https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg"/>
  </programme>
<programme start="20200415030000 -0400" stop="20200415114500 -0400" channel="Caracol.co">
    <title lang="es">También caerás</title>
    <desc lang="es">Es un programa de humor que lleva a las cámaras escondidas a otro nivel, poniendo a la gente común y corriente en situaciones extremadamente divertidas, mientras se graban sus reacciones espontáneas e impredecibles secretamente</desc>
    <category lang="es">Entretenimientos</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_tambien-caeras_l_m.jpg"/>
  </programme>
<programme start="20200415114500 -0400" stop="20200415194500 -0400" channel="Caracol.co">
    <title lang="es">Corazón indomable</title>
    <desc lang="es">La dulce joven Maricruz vive con sus abuelos en una choza del mar. Un día en el que sus ancianos parientes no tienen nada qué comer, ella decide ir a una hacienda para robar y allí conoce al consentido y arrogante Octavio. Al verlo, la chica se enamora de él. Éste apuesto muchacho, a quien su familia no le quiere dar su parte de una herencia, planea aprovecharse de ella para casarse y obtenerla</desc>
    <category lang="es">Telenovela</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_corazon-indomable_l_m.jpg"/>
  </programme>
<programme start="20200415194500 -0400" stop="20200415200000 -0400" channel="Caracol.co">
    <title lang="es">Noticias 18:58 Caracol</title>
    <desc lang="es">Lo último de la actualidad colombiana y mundial usted podrá conocer en esta edición informativa, con reportajes, notas exclusivas, entrevistas y comentarios de la mano de un equipo de profesionales</desc>
    <category lang="es">Noticiero</category>
  </programme>
<programme start="20200415200000 -0400" stop="20200415203000 -0400" channel="Caracol.co">
    <title lang="es">Noticiero del Senado</title>
    <desc lang="es">Periodistas que indagan y conocen las actividades de los congresistas en cada una de las Comisiones Constitucionales y en las Plenarias. El propósito es difundir veraz e imparcialmente en las informaciones del Senado de Colombia, las posiciones de los distintos partidos políticos frente a las iniciativas que hagan su trámite en la Corporación</desc>
    <category lang="es">Noticiero</category>
  </programme>
<programme start="20200415203000 -0400" stop="20200416063000 -0400" channel="Caracol.co">
    <title lang="es">Noticias 19:00 Caracol</title>
    <desc lang="es">Servicio informativo con los acontecimientos más relevantes de Colombia y el mundo</desc>
    <category lang="es">Interés general</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_noticias-19-00-caracol_l_m.jpg"/>
  </programme>
<programme start="20200416063000 -0400" stop="20200416080000 -0400" channel="Caracol.co">
    <title lang="es">Cuentos de los hermanos Grimm</title>
    <desc lang="es">Serie animada que recoge cada uno de los cuentos y fábulas clásicas creadas por los famosos hermanos Grimm, entre ellos, Blancanieves, Rumpelstiltskin, Hansel y Gretel y Caperucita Roja, y muchos otros</desc>
    <category lang="es">Infantil</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_cuentos-de-los-hermanos-grimm_l_m.jpg"/>
  </programme>
<programme start="20200416080000 -0400" stop="20200416083000 -0400" channel="Caracol.co">
    <title lang="es">Doble vía</title>
    <desc lang="es">Espacio del defensor del televidente, en el que se ofrecen diferentes puntos de vista sobre el contenido de la programación, basándose en los correos, llamados y comentarios enviados por la audiencia. Cada transmisión permite la autocrítica, el análisis y la opinión de manera espontánea</desc>
    <category lang="es">Interés general</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_doble-via-1_l_m.jpg"/>
  </programme>
<programme start="20200416083000 -0400" stop="20200416093000 -0400" channel="Caracol.co">
    <title lang="es">Cuentos de los hermanos Grimm</title>
    <desc lang="es">Serie animada que recoge cada uno de los cuentos y fábulas clásicas creadas por los famosos hermanos Grimm, entre ellos, Blancanieves, Rumpelstiltskin, Hansel y Gretel y Caperucita Roja, y muchos otros</desc>
    <category lang="es">Infantil</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_cuentos-de-los-hermanos-grimm_l_m.jpg"/>
  </programme>
<programme start="20200416093000 -0400" stop="20200416103000 -0400" channel="Caracol.co">
    <title lang="es">El Chapulín Colorado</title>
    <desc lang="es">Al Chapulín, donde quiera que aparezca, lo reconocen como un superhéroe, pero este agranda su ego cuando en realidad es débil y tímido, por lo que decepciona a sus seguidores. A pesar de esto, hace todo lo posible por ayudar y al final da con las soluciones a los problemas</desc>
    <category lang="es">Comedia</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_el-chapulin-colorado-1_l_m.jpg"/>
  </programme>
<programme start="20200416103000 -0400" stop="20200416113000 -0400" channel="Caracol.co">
    <title lang="es">Chespirito</title>
    <desc lang="es">Una serie de divertidos episodios de travesuras y aventuras que involucran al conocido Chespirito</desc>
    <category lang="es">Infantil</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_chespirito_l_m.jpg"/>
  </programme>
<programme start="20200416113000 -0400" stop="20200416160000 -0400" channel="Caracol.co">
    <title lang="es">Una aventura extraordinaria</title>
    <title lang="xx">Big Miracle</title>
    <desc lang="es">Un periodista y una voluntaria de Greenpeace se proponen salvar a una familia de majestuosas ballenas grises que han quedado atrapadas por los hielos del Círculo Polar Ártico. La pareja debe convencer a los miembros de la comunidad inuit, a las empresas petroleras y al ejército estadounidense para que olviden sus diferencias y liberen a las ballenas</desc>
    <credits>
      <director>Ken Kwapis</director>
      <actor>Tim Blake Nelson</actor>
      <actor>Ted Danson</actor>
      <actor>John Krasinski</actor>
      <actor>Andrew Daly</actor>
      <actor>Drew Barrymore</actor>
    </credits>
    <date>2012</date>
    <category lang="es">Biográfico</category>
    <category lang="es">Película</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_una-aventura-extraordinaria-2012_l_m.jpg"/>
    <rating system="ES">
      <value>Guía parental sugerida</value>
    </rating>
    <star-rating>
      <value>8.0</value>
    </star-rating>
  </programme>
<programme start="20200416160000 -0400" stop="20200416170000 -0400" channel="Caracol.co">
    <title lang="es">La red</title>
    <desc lang="es">Un espacio que brinda información sobre los acontecimientos y los detalles más importantes en el mundo del entretenimiento. Los presentadores hablan sin tapujos sobre los protagonistas de la farándula y todo el ambiente del espectáculo</desc>
    <category lang="es">Espectáculo</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_la-red-1996_l_m.jpg"/>
  </programme>
<programme start="20200416170000 -0400" stop="20200416190000 -0400" channel="Caracol.co">
    <title lang="es">El paseo 2</title>
    <desc lang="es">Playa, brisa y mar, el plan perfecto para unas buenas vacaciones, o al menos eso pensaba Lucho Calvo, un padre de familia que, con gran esfuerzo, planeó las vacaciones de su vida. Sin embargo, su familia tendrá otra idea de diversión debido a la inesperada presencia de Patrick, un exnovio de su esposa Gloria, quien los deslumbrará con sus múltiples atenciones. Es por esto que Lucho emprenderá una desenfrenada carrera por evitar que los suyos "sucumban" ante los encantos de quien ahora es su rival y se verá forzado a usar mucho más que su imaginación para lograrlo</desc>
    <credits>
      <director>Harold Trompetero</director>
      <actor>John Leguizamo</actor>
      <actor>Álvaro Rodríguez</actor>
      <actor>Karen Martínez</actor>
      <actor>Martín Karpán</actor>
      <actor>Kristina Lilley</actor>
    </credits>
    <date>2012</date>
    <category lang="es">Comedia</category>
    <category lang="es">Película</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_el-paseo-2-2012_l_m.jpg"/>
    <rating system="ES">
      <value>Guía parental sugerida</value>
    </rating>
  </programme>
<programme start="20200416190000 -0400" stop="20200416213000 -0400" channel="Caracol.co">
    <title lang="es">Se dice de mí</title>
    <desc lang="es">Segmento que abordará la vida y trayectoria de los personajes más representativos del país. Cantantes, deportistas, presentadores y actores contarán su verdad sobre los aspectos positivos y negativos de su vida</desc>
    <category lang="es">Entrevista</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_se-dice-de-mi-1_l_m.jpg"/>
  </programme>
<programme start="20200416213000 -0400" stop="20200416233000 -0400" channel="Caracol.co">
    <title lang="es">Sábados felices</title>
    <desc lang="es">Una emisión en el que la risa es el principal ingrediente. Las parodias, los chistes y las caracterizaciones hacen que sea el espacio más exitoso de la televisión colombiana</desc>
    <category lang="es">Entretenimientos</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_sabados-felices_l_m.jpg"/>
  </programme>
<programme start="20200416233000 -0400" stop="20200417003000 -0400" channel="Caracol.co">
    <title lang="es">Entre ojos</title>
    <desc lang="es">Una serie documental que tiene como objetivo descubrir hechos reales y hacerlos públicos, a través de reportajes, informes, notas de interés y producciones audiovisuales</desc>
    <category lang="es">Documental</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_entre-ojos_l_m.jpg"/>
  </programme>
<programme start="20200417003000 -0400" stop="20200417020000 -0400" channel="Caracol.co">
    <title lang="es">Los juegos del hambre: En llamas</title>
    <title lang="xx">The Hunger Games: Catching Fire</title>
    <desc lang="es">Katniss Everdeen vuelve a casa sana y salva después de ganar los 74º Juegos del Hambre anuales. Participar significa dejar atrás familia y amigos y hacer el Tour de la Victoria por los diferentes distritos. A lo largo del camino, Katniss se da cuenta de que se está gestando una rebelión, pero en el Capitolio todo sigue bajo control: el Presidente Snow organiza los 75º Juegos del Hambre (El Vasallaje), una competición que cambiará Panem para siempre</desc>
    <credits>
      <director>Francis Lawrence</director>
      <actor>Donald Sutherland</actor>
      <actor>Lenny Kravitz</actor>
      <actor>Stanley Tucci</actor>
      <actor>Elizabeth Banks</actor>
      <actor>Philip Seymour Hoffman</actor>
    </credits>
    <date>2013</date>
    <category lang="es">Acción</category>
    <category lang="es">Película</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_los-juegos-del-hambre-en-llamas-2013_l_m.jpg"/>
    <rating system="ES">
      <value>13+</value>
    </rating>
    <star-rating>
      <value>7.6</value>
    </star-rating>
  </programme>
<programme start="20200417020000 -0400" stop="20200417070000 -0400" channel="Caracol.co">
    <title lang="es">También caerás</title>
    <desc lang="es">Es un programa de humor que lleva a las cámaras escondidas a otro nivel, poniendo a la gente común y corriente en situaciones extremadamente divertidas, mientras se graban sus reacciones espontáneas e impredecibles secretamente</desc>
    <category lang="es">Entretenimientos</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_tambien-caeras_l_m.jpg"/>
  </programme>
<programme start="20200417070000 -0400" stop="20200417073000 -0400" channel="Caracol.co">
    <title lang="es">El mundo visto desde el Vaticano</title>
    <desc lang="es">Un espacio que muestra toda la actividad semanal del Papa Francisco: sus viajes, sus recorridos, los encuentros con la gente y reuniones con gente famosa de todo el mundo</desc>
    <category lang="es">Religioso</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_el-mundo-visto-desde-el-vaticano_l_m.jpg"/>
  </programme>
<programme start="20200417073000 -0400" stop="20200417093000 -0400" channel="Caracol.co">
    <title lang="es">Santa Misa</title>
    <desc lang="es">La misa dominical transmitida desde distintas iglesias católicas de nuestro país</desc>
    <category lang="es">Religioso</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_santa-misa_l_m.jpg"/>
  </programme>
<programme start="20200417093000 -0400" stop="20200417113000 -0400" channel="Caracol.co">
    <title lang="es">Santa Misa</title>
    <desc lang="es">La misa dominical transmitida desde distintas iglesias católicas de nuestro país</desc>
    <category lang="es">Religioso</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_santa-misa_l_m.jpg"/>
  </programme>
<programme start="20200417113000 -0400" stop="20200417160000 -0400" channel="Caracol.co">
    <title lang="es">Beethoven 2</title>
    <title lang="xx">Beethoven's 2nd</title>
    <desc lang="es">Beethoven continúa con su placentera vida en el hogar de los Newton. Además, para completar su dicha, se cruza en su camino con Missy, la preciosa hembra de San Bernardo que convierte a Beethoven en padre. Pero el dueño de Missy quiere usarla a ella y sus cachorros en su negociación de divorcio. ¿Serán Beethoven y los Newton capaces de salvarlos?</desc>
    <credits>
      <director>Rod Daniel</director>
      <actor>Bonnie Hunt</actor>
      <actor>Charles Grodin</actor>
      <actor>Debi Mazar</actor>
      <actor>Maury Chaykin</actor>
      <actor>Chris Penn</actor>
    </credits>
    <date>1993</date>
    <category lang="es">Comedia</category>
    <category lang="es">Película</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_beethoven-2-1993_l_m.jpg"/>
    <rating system="ES">
      <value>Guía parental sugerida</value>
    </rating>
    <star-rating>
      <value>4.7</value>
    </star-rating>
  </programme>
<programme start="20200417160000 -0400" stop="20200417180000 -0400" channel="Caracol.co">
    <title lang="es">The Intern</title>
    <category lang="es">Película</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_the-intern_l_m.jpg"/>
    <star-rating>
      <value>7.1</value>
    </star-rating>
  </programme>
<programme start="20200417180000 -0400" stop="20200417190000 -0400" channel="Caracol.co">
    <title lang="es">Expediente final</title>
    <desc lang="es">En cada capítulo saldrá a la luz los secretos que hay detrás de la muerte de reconocidos personajes de Colombia y Latinoamérica como el humorista Jaime Garzón, el futbolista Andrés Escobar y el cantante Martín Elías</desc>
    <category lang="es">Documental</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_expediente-final_l_m.jpg"/>
  </programme>
<programme start="20200417190000 -0400" stop="20200417213000 -0400" channel="Caracol.co">
    <title lang="es">The Suso's Show</title>
    <desc lang="es">Suso "El Paspi", se planteará un interrogante existencial y tratará de responderse influenciado por su particular manera de ver el mundo. Además, en cada episodio, recibirá a un invitado de mucho prestigio para realizarle una entrevista divertida y disparatada</desc>
    <category lang="es">Entretenimientos</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_the-suso-s-show-1_l_m.jpg"/>
  </programme>
<programme start="20200417213000 -0400" stop="20200417223000 -0400" channel="Caracol.co">
    <title lang="es">Informantes</title>
    <desc lang="es">Con acceso exclusivo a una realidad desconocida, este documental se interna en el mundo de hispanos que dedicaron años de su vida al combate contra el crimen o que aceptaron informar sobre las actividades delictivas en las que participaron. Un espacio que va más allá de la noticias e investiga a fondo</desc>
    <category lang="es">Documental</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_informantes_l_m.jpg"/>
  </programme>
<programme start="20200417223000 -0400" stop="20200417233000 -0400" channel="Caracol.co">
    <title lang="es">Séptimo día</title>
    <desc lang="es">Segmento informativo dedicado al periodismo investigativo. Éste realiza seguimiento a denuncias de los ciudadanos basadas en situaciones cotidianas. Su principal objetivo es ofrecerles a los televidentes herramientas que les permitan formar criterios frente a diversos temas. Detrás de cada historia hay un ser humano que vive un drama real</desc>
    <category lang="es">Periodístico</category>
    <icon src="https://cdn.mitvstatic.com/programs/co_septimo-dia_l_m.jpg"/>
  </programme>
<programme start="20200417233000 -0400" stop="20200418003000 -0400" channel="Caracol.co">
    <title lang="es">La venganza de Analia</title>
    <category lang="es">Variedades</category>
    <icon src="https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg"/>
  </programme>
</tv>
tonywagner commented 4 years ago

This xmltv-to-mxf script needs to be able to extract a channel number from a display-name field for each channel.

Fortunately, XMLTV can have multiple display-name fields for each channel too, so you could edit the top of your xml to look something like the following:

<?xml version="1.0" encoding="UTF-8"?>
<tv><channel id="Caracol.co">
    <display-name lang="es">Caracol CO</display-name>
    <display-name>1000</display-name>
    <url>http://www.mi.tv</url>
  <icon src="http://static.iptv-epg.com/co/Caracol.co.png"/></channel>

And then it should import as channel 1000. You can also use periods (1000.1) or dashes (1000-1) for channel grouping.

Kick4U2 commented 4 years ago

Thank you! This got me one step closer. I just added the channel number.

Unfortunately, I ran into this new error that doesn't seem to give me much to go off of:

C:\Windows\system32>java -jar C:\xmltv-to-mxf-0.0.3.jar M:\test.xml
2020-04-17 09:54:37,752 INFO - Starting with args=[M:\test.xml]
2020-04-17 09:54:37,772 INFO - XMLTV=M:\test.xml, MXF=mxf.xml
2020-04-17 09:54:38,312 INFO - Reading XMLTV file: M:\test.xml...100.00%
2020-04-17 09:54:38,312 INFO - Reading XMLTV file: M:\test.xml...100.00%
2020-04-17 09:54:38,312 INFO - Reading XMLTV file: M:\test.xml...100.00%
Reading XMLTV file: M:\test.xml...100.00%
Creating services2020-04-17 09:54:38,312 INFO - Creating services
2020-04-17 09:54:38,312 INFO - 1 channels

Creating lineup2020-04-17 09:54:38,312 INFO - Creating lineup

Generating basic MXF2020-04-17 09:54:38,442 INFO - Generating basic MXF

Beginning program parsing2020-04-17 09:54:38,452 INFO - Beginning program parsin
g

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner
.java:53)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ArithmeticException: / by zero
        at com.dontocsata.xmltv.XmlTvParser.main(XmlTvParser.java:223)
        ... 6 more
tonywagner commented 4 years ago

Caused by: java.lang.ArithmeticException: / by zero at com.dontocsata.xmltv.XmlTvParser.main(XmlTvParser.java:223)

There's the error (can't divide by zero), and location (line 223 of the file XmlTvParser.java). Apparently, if there are fewer than 100 programs in the file, it causes a "divide by zero" error when trying to print status updates to the console.

A easy workaround, if you don't want to recompile from source, is just adding more programs/channels to your XML file, so you have at least 100 programs. If you have more channels or listings you want to include, great! Or just add dummy placeholders until you get to 100 programs.

But for an actual fix, you would need to recompile after changing line 221 of src/main/java/com/dontocsata/xmltv/XmlTvParser.java from this:

int interval = storage.getXmlTvPrograms().size() / 100;

to something like this:

int interval = Math.max(storage.getXmlTvPrograms().size() / 100, 2);

(You can use any number greater than zero at the end, I just picked 2.)

FYI, compiling this project from source is pretty easy -- see this link for the instructions: https://github.com/raydouglass/xmltv-to-mxf/issues/1#issuecomment-570293858