[BUG] tv_grab_zz_sdjson is outdated (XMLTV 1.3.0) and causes missing episode numbers
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- docker
- Área
- build-system, devops
Línea de trabajo
Empieza inspeccionando la definición de compilación de la imagen Docker para comprobar cómo se instalan XMLTV 1.3.0 y /usr/bin/tv_grab_zz_sdjson. Comprueba la versión indicada por el grabber y, a continuación, ejecútalo con la configuración de Schedules Direct UK descrita en el issue. Se considera terminado cuando la imagen incluye el grabber actualizado y el XMLTV generado contiene números de temporada y episodio como Frasier S06E23.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
The LinuxServer Tvheadend Docker image currently ships XMLTV 1.3.0, including tv_grab_zz_sdjson 1.3.0.
When using the Schedules Direct SD-JSON grabber with UK listings, episode/season information can be missing from the generated XMLTV data.
For example, Schedules Direct provides the following metadata for Frasier:
programID: EP012597200187
metadata:
Gracenote:
season: 6
episode: 23
However, the 1.3.0 version of tv_grab_zz_sdjson does not reliably process this metadata because it iterates over the metadata hash without resetting Perl's hash iterator.
The relevant code in the 1.3.0 version is:
metadata: for my $metadata (@{$details->{'metadata'}}) {
while(my ($key, $value) = each %{$metadata}) {
The current upstream version contains an additional:
keys %{$metadata};
before the while loop, which fixes the problem.
I manually replaced /usr/bin/tv_grab_zz_sdjson in the running container with the current upstream version and ran the grabber through Tvheadend.
The resulting EPG now correctly shows season/episode information, including:
Frasier - Shutout in Seattle - S06E23
Frasier - Shutout in Seattle - S06E24
Frasier - Momma Mia - S07E01
Frasier - Father of the Bride - S07E02
Frasier - Radio Wars - S07E03
The corrected episode numbers are shown on both Channel 4 and Channel 4 HD.
Expected Behavior
The Docker image should ship a current version of XMLTV/tv_grab_zz_sdjson so that the Schedules Direct grabber correctly processes the season and episode metadata provided by the SD-JSON API.
In particular, tv_grab_zz_sdjson should include the upstream fix present in XMLTV 1.4.0 and correctly generate the XMLTV episode-num elements.
For example:
<episode-num system="xmltv_ns">5.22.0/2</episode-num>
<episode-num system="dd_progid">EP012597200187</episode-num>
for Frasier S06E23.
Steps To Reproduce
-
Create/run a LinuxServer Tvheadend container using:
lscr.io/linuxserver/tvheadend:latest -
Configure tv_grab_zz_sdjson as the XMLTV EPG grabber.
-
Configure the grabber to use a Schedules Direct account and a UK lineup.
-
Check the version inside the container:
docker exec tvheadend /usr/bin/tv_grab_zz_sdjson --versionThe current image reports:
XMLTV module version 1.3.0 This is tv_grab_zz_sdjson version 1.3.0 -
Run the XMLTV grabber and import the resulting guide into Tvheadend.
-
Check programmes which have Gracenote season/episode metadata.
-
Episode/season information is missing or incorrect in the resulting EPG.
-
Replace /usr/bin/tv_grab_zz_sdjson in the container with the current upstream XMLTV version and run the same grab.
-
The same programmes now correctly show their season and episode numbers in Tvheadend.
For example, Frasier episodes are displayed as S06E23, S06E24, S07E01, S07E02 and S07E03.
Environment
OS: Unraid 7.3.1
CPU architecture: x86-64
Docker image:
lscr.io/linuxserver/tvheadend:latest
LinuxServer image build:
fcd987f0-ls285
Build date: 2026-07-18T16:31:51+00:00
XMLTV version:
1.3.0
tv_grab_zz_sdjson version:
1.3.0
EPG source:
Schedules Direct SD-JSON
Affected channels:
Channel 4
Channel 4 HD
CPU architecture
x86-64
Docker creation
Docker created via Unraid's Apps function
Container logs
The issue does not produce an error in the Tvheadend container log.
The relevant diagnostic output is:
$ docker exec tvheadend /usr/bin/tv_grab_zz_sdjson --version
XMLTV module version 1.3.0
This is tv_grab_zz_sdjson version 1.3.0
The grabber completes successfully and produces XMLTV data; the problem is that episode/season information is missing from some programmes.
After replacing /usr/bin/tv_grab_zz_sdjson with the current upstream version, the same grab completes successfully and Tvheadend displays the correct season/episode information.
- Lenguaje dominante
- Dockerfile
- Estrellas
- 213
- Forks
- 93
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de linuxserver/docker-tvheadend
-
enhancement no-issue-activity
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
linuxserver/docker-tvheadend#276 · 3 comentarios · 8 reacciones ·
-
no-issue-activity
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
linuxserver/docker-tvheadend#275 · 6 comentarios ·
Todos los issues de linuxserver/docker-tvheadend
Issues similares
-
area/dependencies kind/cve severity/high source/scan-dependencies status/triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Tencent/BrowserSkill#390 ·
Los mantenedores suelen responder en 1 día
-
Update dbus dependency to ^0.8.0Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
MixinNetwork/flutter-plugins#507 ·
-
Builds fail intermittently.Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
bitcoin-core/gui-qml#951 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
azerothcore/azerothcore-wotlk#27903 ·
Los mantenedores suelen responder en 1 día