Giter Site home page Giter Site logo

guide2go's Introduction

Recent changes by Chuchodavids:

  1. Grab images from Schedules Direct in a local folder. This script will download tvshow/movie images and save them in a local folder. Then it will expose the images from a go server. This is useful for players like Emby or Plex.
  2. For players like tiviMate I added the "live" and "new" icon in the tittle of the program. This is usually auto-added in Emby or other IPTV players, but TiviMate does not do this by reading XML tags.
  3. Added the option to proxy the images instead of downloading them locally. It will pass the guide2go server IP and the server will act as a reverse-proxy to Schedules Direct to grab the image. (only usefully for small EPG files).

Guide2Go

Guide2Go is written in Go and creates an XMLTV file from the Schedules Direct JSON API.
Configuration files from version 1.0.6 or earlier are not compatible!

Advantages compared to version 1.0.x

  • 3x faster
  • Less memory
  • Smaller cache file

Features

  • Cache function to download only new EPG data
  • No database is required
  • Update EPG with CLI command for using your own scripts

Requirement

Installation

Build binary

The following command must be executed with the terminal / command prompt inside the source code folder.
Linux, Unix, OSX:

go build -o guide2go

Windows:

go build -o guide2go.exe

Docker

Download the docker image:

Volumes

  • /data/images -- Path where images will be cached. It has to be the same that was declared in the Environment variables
  • /data/livetv -- optional -- If you want to save the files in a directory that other applications will have access to. (shared folder)

Stable:

docker pull chuchodavids/guide2go:stable

Development:

docker pull chuchodavids/guide2go:development

docker-compose

version: "3.4"
services:
    guide2go:
      container_name: guide2go
      image: chuchodavids/guide2go:stable
      ports:
        - 8080:8080
      environment:
        - TZ: America/Chicago
      volumes:
        - /data/config/guide2go:/config
        - /data/livetv/:/data/livetv/
        - /data/images:/data/images/
      restart: always

Switch -o creates the binary guide2go in the current folder.

Show CLI parameter:

guide2go -h

-config string
    = Get data from Schedules Direct with configuration file. [filename.yaml]
-configure string
    = Create or modify the configuration file. [filename.yaml]
-h  : Show help

Create a config file:

note: You can use the sample config file that is in the /config folder inside of the docker container

guide2go -configure MY_CONFIG_FILE.yaml
If the configuration file does not exist, a YAML configuration file is created.

Configuration file from version 1.0.6 or earlier is not compatible.

Terminal Output:
2020/05/07 12:00:00 [G2G  ] Version: 1.1.2
2020/05/07 12:00:00 [URL  ] https://json.schedulesdirect.org/20141201/token
2020/05/07 12:00:01 [SD   ] Login...OK

2020/05/07 12:00:01 [URL  ] https://json.schedulesdirect.org/20141201/status
2020/05/07 12:00:01 [SD   ] Account Expires: 2020-11-2 14:08:12 +0000 UTC
2020/05/07 12:00:01 [SD   ] Lineups: 4 / 4
2020/05/07 12:00:01 [SD   ] System Status: Online [No known issues.]
2020/05/07 12:00:01 [G2G  ] Channels: 214

Configuration [MY_CONFIG_FILE.yaml]
-----------------------------
 1. Schedules Direct Account
 2. Add Lineup
 3. Remove Lineup
 4. Manage Channels
 5. Create XMLTV File [MY_CONFIG_FILE.xml]
 0. Exit

Follow the instructions in the terminal

  1. Schedules Direct Account:
    Manage Schedules Direct credentials.

  2. Add Lineup:
    Add Lineup into the Schedules Direct account.

  3. Remove Lineup:
    Remove Lineup from the Schedules Direct account.

  4. Manage Channels:
    Selection of the channels to be used. All selected channels are merged into one XML file when the XMLTV file is created. When using all channels from all lineups it is recommended to create a separate Guide2Go configuration file for each lineup.
    Example:
    Lineup 1:

guide2go -configure Config_Lineup_1.yaml

Lineup 2:

guide2go -configure Config_Lineup_2.yaml
  1. Create XMLTV File [MY_CONFIG_FILE.xml]:
    Creates the XMLTV file with the selected channels.

The YAML configuration file can be customize with an editor.:

Account:
    Username: SCHEDULES_DIRECT_USERNAME
    Password: SCHEDULES_DIRECT_HASHED_PASSWORD
Files:
    Cache: MY_CONFIG_FILE.json
    XMLTV: MY_CONFIG_FILE.xml
Options:
    Poster Aspect: all
    Schedule Days: 7
    Subtitle into Description: false
    Insert credits tag into XML file: true
    Local Images Cache: true
    Images Path: /data/images/
    Proxy Images: false
    Hostname: localhost:8080
    Rating:
        Insert rating tag into XML file: true
        Maximum rating entries. 0 for all entries: 1
        Preferred countries. ISO 3166-1 alpha-3 country code. Leave empty for all systems:
          - DEU
          - CHE
          - USA
        Use country code as rating system: false
    Show download errors from Schedules Direct in the log: false
Station:
  - Name: Fox Sports 1 HD
    ID: "82547"
    Lineup: USA-DITV-DEFAULT
  - Name: Fox Sports 2 HD
    ID: "59305"
    Lineup: USA-DITV-DEFAULT

- Account: (Don't change)
Schedules Direct Account data, do not change them in the configuration file.

- Flies: (Can be customized)

Cache: /data/livetv/file.json  
XMLTV: /data/livetv/file.xml  

- Options: (Can be customized)

Poster Aspect: all
  • all: All available Image ratios are used.
  • 2x3: Only uses the Image / Poster in 2x3 ratio. (Used by Plex)
  • 4x3: Only uses the Image / Poster in 4x3 ratio.
  • 16x9: Only uses the Image / Poster in 16x9 ratio.

Some clients only use one image, even if there are several in the XMLTV file.


Schedule Days: 7

EPG data for the specified days. Schedules Direct has EPG data for the next 12-14 days


Subtitle into Description: false

Some clients only display the description and ignore the subtitle tag from the XMLTV file.

true: If there is a subtitle, it will be added to the description.

<?xml version="1.0" encoding="UTF-8"?>
<programme channel="guide2go.67203.schedulesdirect.org" start="20200509134500 +0000" stop="20200509141000 +0000">
   <title lang="de">Two and a Half Men</title>
   <sub-title lang="de">Ich arbeite für Caligula</sub-title>
   <desc lang="de">[Ich arbeite für Caligula]
Alan zieht aus, da seine Freundin Kandi und er in Las Vegas eine Million Dollar gewonnen haben. Charlie kehrt zu seinem ausschweifenden Lebensstil zurück und schmeißt wilde Partys, die bald ausarten. Doch dann steht Alan plötzlich wieder vor der Tür.</desc>
   <category lang="en">Sitcom</category>
   <episode-num system="xmltv_ns">3.0.</episode-num>
   <episode-num system="onscreen">S4 E1</episode-num>
   <episode-num system="original-air-date">2006-09-18</episode-num>
   ...
</programme>

Local Images Cache: false

true: Download the images from SD in a local folder. This option atuomatically enables the server so clients can access to the images. false: images are not downloaded locally


Hostname: localhost:8080

Hostname: hostname + port of the local server for the images

Images Path: /data/images

Path to cache images locally. Only useful if Local Images Cache = true


Proxy Images: false

True: (Overrides local image cache option) Instead of downloading the images locally, it will act as a reverse proxy between the clients and guide2go server. This is only usefull when there are not too many clients on your network, not too many channels on your EPG and you are not downloading more than 1-3 days of EPG data. It is very usefull if you dont want to bother setting up a cache folder for your EPG images.


Insert credits tag into XML file: false

true: Adds the credits (director, actor, producer, writer) to the program information, if available.

<?xml version="1.0" encoding="UTF-8"?>
<programme channel="guide2go.67203.schedulesdirect.org" start="20200509134500 +0000" stop="20200509141000 +0000">
   <title lang="de">Two and a Half Men</title>
   <sub-title lang="de">Ich arbeite für Caligula</sub-title>
   ...
  <credits>
    <director>Jamie Widdoes</director>
    <actor role="Charlie Harper">Charlie Sheen</actor>
    <actor role="Alan Harper">Jon Cryer</actor>
    <actor role="Jake Harper">Angus T. Jones</actor>
    <actor role="Judith">Marin Hinkle</actor>
    <actor role="Evelyn Harper">Holland Taylor</actor>
    <actor role="Rose">Melanie Lynskey</actor>
    <writer>Chuck Lorre</writer>
    <writer>Lee Aronsohn</writer>
    <writer>Susan Beavers</writer>
    <writer>Don Foster</writer>
</credits>
   ...
</programme>

Rating:
        Insert rating tag into XML file: true
        ...

true: Adds the TV parental guidelines to the program information.

<?xml version="1.0" encoding="UTF-8"?>
<programme channel="guide2go.67203.schedulesdirect.org" start="20200509134500 +0000" stop="20200509141000 +0000">
  <title lang="de">Two and a Half Men</title>
  <sub-title lang="de">Ich arbeite für Caligula</sub-title>
  <language>de</language>
  ...
  <rating system="Freiwillige Selbstkontrolle der Filmwirtschaft">
    <value>12</value>
  </rating>
   ...
</programme>

false: TV parental guidelines are not used. Further rating settings are ignored.

<?xml version="1.0" encoding="UTF-8"?>
<programme channel="guide2go.67203.schedulesdirect.org" start="20200509134500 +0000" stop="20200509141000 +0000">
  <title lang="de">Two and a Half Men</title>
  <sub-title lang="de">Ich arbeite für Caligula</sub-title>
  <language>de</language>
   ...
</programme>
Rating:
        ...
        Maximum rating entries. 0 for all entries: 1
        ...

Specifies the number of maximum rating entries. If the value is 0, all parental guidelines available from Schedules Direct are used. Depending on the preferred countries.

Rating:
        ...
        Preferred countries. ISO 3166-1 alpha-3 country code. Leave empty for all systems:
          - DEU
          - CHE
          - USA
        ...

Sets the order of the preferred countries ISO 3166-1 alpha-3.
Parental guidelines are not available for every country and program information. Trial and error.
If no country is specified, all available countries are used. Many clients ignore a list with more than one entry or use the first entry.

If no country is specified:
If a rating entry exists in the same language as the Schedules Direct Lineup, it will be set to the top. In this example German (DEU).

Lineup: DEU-1000097-DEFAULT
1st rating system (Germany): Freiwillige Selbstkontrolle der Filmwirtschaft

...
<rating system="Freiwillige Selbstkontrolle der Filmwirtschaft">
  <value>12</value>
</rating>
<rating system="USA Parental Rating">
  <value>TV14</value>
</rating>
...
Rating:
        ...
        Use country code as rating system: false

true:

<rating system="DEU">
  <value>12</value>
</rating>
<rating system="USA">
  <value>TV14</value>
</rating>

false:

<rating system="Freiwillige Selbstkontrolle der Filmwirtschaft">
  <value>12</value>
</rating>
<rating system="USA Parental Rating">
  <value>TV14</value>
</rating>

Show download errors from Schedules Direct in the log: false

true: Shows incorrect downloads of Schedules Direct in the log.

Example:

2020/07/18 19:10:53 [ERROR] Could not find requested image. Post message to http://forums.schedulesdirect.org/viewforum.php?f=6 if you are having issues. [SD API Error Code: 5000] Program ID: EP03481925

Create the XMLTV file using the command line (CLI):

guide2go -config MY_CONFIG_FILE.yaml

The configuration file must have already been created.

guide2go's People

Contributors

chuchodavids avatar mar-mei avatar marmei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

guide2go's Issues

Belgium lineup always gives error when trying to add lineup

Describe the bug
Cannot get Belgium lineup from Guide2go, using Schedules Direct from Jellyfin reveal that it worked, so it might be tied to guide2go

To Reproduce
Steps to reproduce the behavior:

  1. Add Lineup

  2. Select Belgium (4)

  3. Input 6000 as Zip code (Charleroi)
    You can also try using
    5000 (Namur)
    6000 (Charleroi)
    6001 (Marcinelle)
    All are valid.

  4. Select any lineup

Expected behavior
When selecting lineup, it should proceed and create a lineup

Current behaviour
guide2go throws this error

[ERROR] Invalid lineup requested. Check your COUNTRY / POSTALCODE combination for validity. [SD API Error Code: 2102]

Actor/Crew/Credits information (needed for Plex)

To have the perfect experience with PLEX and the EPG function it would be perfect if also the actor /crew/credit information could be included. Those can be get via the schedules direct api aswell.

Sorry for opening all the issues. I just found your repository here on github and your application is the perfect fit. Easy to use, lightweight and can be used on linux aswell (the application I used till now was only for windows..but with this application I can automate the procress for getting the latest epg information and import them to Plex)

This is how the actor/credit section of a looks like from the application I was using on windows:

 <credits>
      <director>Christoph Heininger</director>
      <actor role="Ansgar von Lahnstein">Wolfram Grandezka</actor>
      <actor role="Hagen von Lahnstein">Christoph Mory</actor>
      <actor role="Tanja von Lahnstein">Miriam Lahnstein</actor>
      <actor role="Sebastian von Lahnstein">Sebastian Schlemmer</actor>
      <actor role="Thore Hellström">Philipp Oehme</actor>
      <actor role="Caro Schulz">Katja Sieder</actor>
      <actor role="Charlie Schneider">Gabriele Metzger</actor>
      <actor role="Ricardo Mendes">Daniel Sellier</actor>
      <actor role="Dana Wolf">Diane Willems</actor>
      <actor role="Jessica Stiehl">Jana Julie Kilka</actor>
      <writer>Jens Schleicher</writer>
      <writer>Franziska Fuchs</writer>
    </credits>

GUIDE2GO - command not found, linux CLI

Describe the bug
Following the install instructions, running sudo guide2go -h results in the server response: sudo: guide2go: command not found

To Reproduce
Steps to reproduce the behavior:

  1. wget the zip of the project from github
  2. unzip the zip file
  3. sudo go build -o guide2go
  4. sudo guide2go -h

Expected behavior
See the config help as the instructions on github show

Desktop (please complete the following information):

  • OS: Ubuntu 22
  • Browser SSH

docker error

Describe the bug
Stable docker build giving an error when starting up.
"exec /usr/local/bin/guide2go: no such file or directory"
To Reproduce
Steps to reproduce the behavior:

  1. launch docker using "chuchodavids/guide2go:stable"
  2. look at docker logs.

Expected behavior
Launch guide2go

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: ubuntu
  • Browser: chrome

go 1.12 expects a different import path convention

Describe the bug
under go 1.12, the way paths are imported has changed. So the instructions to build fail.

To Reproduce
Steps to reproduce the behavior:

go get github.com/mar-mei/guide2go
go: finding github.com/mar-mei/guide2go latest
go: downloading github.com/mar-mei/guide2go v0.0.0-20191011170837-e19b3e62f3fc
go: extracting github.com/mar-mei/guide2go v0.0.0-20191011170837-e19b3e62f3fc
build github.com/mar-mei/guide2go: cannot find module for path _/Users/ro/devel/gocode/pkg/mod/github.com/mar-mei/[email protected]/src

Expected behavior
a built binary

Desktop (please complete the following information):

  • OS: osx
  • Golang: 1.12

To fix, I set "github.com/guide2go/src" instead of "./src"

Missing Artwork Posters for all live TV

Describe the bug
When viewing live TV in Plex, each program has a show picture for artwork posters. However, when using Guide2Go with xTeve as epg source, the pictures are not showing in the guide or recorded shows. Should this be showing? Does SD hold this data?

To Reproduce
Steps to reproduce the behavior:

  1. Setup XTeve2.
  2. Setup Guide2Go
  3. Configure xTeve in Plex
  4. View guide in Plex (in my case, on Apple TV)

Expected behavior*
Display each artwork poster per show in Plex guide and recording container

Images not being put into XML

Is this package still being maintained? I think schedules direct changed some parts in their apis for show images - as of now i am not getting any images in the xmltv for any show.

Tag <year>

The tag year is available in the movies (MV), as shown in the API documentation. Please add it.

NOT A BUG: Donation Request

Is there a way we can donate to this project? It is awesome how well this program works and I would love to send the creator a few dollars as a thank you.

[ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram

Download schedules fail with error:
json: cannot unmarshal object into Go value of type []main.SDProgram

Error:

F:\MediaCenter\config\guide2go>guide2go -config MY_CONFIG_FILE.yaml
2020/12/07 22:17:33 [G2G ] Version: 1.1.3
2020/12/07 22:17:33 [URL ] https://json.schedulesdirect.org/20141201/token
2020/12/07 22:17:34 [SD ] Login...OK

2020/12/07 22:17:34 [URL ] https://json.schedulesdirect.org/20141201/status
2020/12/07 22:17:34 [SD ] Account Expires: 2021-11-30 19:03:38 +0000 UTC
2020/12/07 22:17:34 [SD ] Lineups: 1 / 4
2020/12/07 22:17:34 [SD ] System Status: Online [No known issues.]
2020/12/07 22:17:34 [G2G ] Channels: 618
2020/12/07 22:17:34 [URL ] https://json.schedulesdirect.org/20141201/lineups/USA-IL68236-X
2020/12/07 22:17:34 [G2G ] Download Schedule: 14 Day(s)
2020/12/07 22:17:34 [URL ] https://json.schedulesdirect.org/20141201/schedules
2020/12/07 22:18:25 [G2G ] Download Program Informations: New: 45726 / Cached: 0
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:25 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:25 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:26 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:26 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:26 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:26 [URL ] https://json.schedulesdirect.org/20141201/programs
2020/12/07 22:18:26 [ERROR] json: cannot unmarshal object into Go value of type []main.SDProgram
2020/12/07 22:18:26 [G2G ] Download missing Metadata: 0
2020/12/07 22:18:34 [G2G ] Create XMLTV File [MY_CONFIG_FILE.xml]
2020/12/07 22:18:39 [G2G ] Clean up Cache [MY_CONFIG_FILE_cache.json]
2020/12/07 22:18:56 [G2G ] Deleted Program Informations: 0

SD-JSON images now require tokens

From SD's website:

Effective 2022-10-01, the Schedules Direct service will be requiring that the user token be presented for most interaction with our servers. If you are running NextPVR v6 or EPG123 v1.7.1.8 or higher then this will re-enable image downloads.

If you are a developer, please check the updated API documentation. You may also contact [email protected] if you would like to have your requests steered to a “debug” server while you are testing the addition of the token to your code.

Config file not found

Describe the bug
I can't seem to get this to work. When I run docker compose up, the docker status is "Restarting" and the docker logs show "config file not found". Other people had a similar problem:
https://forum.openmediavault.org/index.php?thread/47315-is-there-a-docker-to-grab-schedules-direct-epg-data/
https://ubuntuforums.org/showthread.php?t=2485826

To Reproduce
New debian 12 LXC with sudo user
Install go docker curl
add docker-compose.yml to home dir

services:
    guide2go:
      container_name: g2g
      image: chuchodavids/guide2go:stable
      ports:
        - 8080:8080
      environment:
        - TZ=America/Denver
      volumes:
        - ./data/config/guide2go:/config
        - ./data/livetv/:/data/livetv/
        - ./data/images:/data/images/
      restart: always

Note that some edits were made, "./" in front of folders, "=" instead of colon next to TZ. I think these were mistakes in the guidance?

sudo docker compose up -d
sudo docker compose logs g2g

2024/04/28 03:15:36 [G2G  ] Version: 1.1.3
2024/04/28 03:15:36 config file not found

At this point I have not yet built the guide2go program with go.

Earlier I did build the program and created a config file, but I'm not sure where to even put it. What config file is it looking for, and where is the it looking? Any guidance is appreciated.

Schedules Direct

can we use this script to change the source from Schedules Direct to another website of our choice ive been trying to pull from another website that shows the guide and the json file but cant figure out how to make an xml EPG Guide I even tried to use a program called mc2xml to retrieve local guide data but not all of the guide data is showing up for all channels on this particular website

No .yaml or .xml file

Describe the bug
I downloaded and installed this today. I get no .yaml or .xml file created after running
"guide2go -configure Frontier.yaml"
and then going through the options

To Reproduce
Install docker
run "guide2go -configure Frontier.yaml"
No .yaml file is created
run "guide2go -config Frontier.yaml"
no .xml file is created

Expected behavior
.yaml and .xml files will be created as needed

Desktop (please complete the following information):
Unraid 6.8.3

Adding Channel Numbers possible? (Needed for Plex)

Hello,

is it possible to also assign channel numbers ? Like below?

      <channel id="guide2go.101423.schedulesdirect.org">
          <display-name>1</display-name>
          <display-name>SKY1DEH</display-name>
          <display-name>Sky1 HD</display-name>
          <icon src="https://s3.amazonaws.com/schedulesdirect/assets/stationLogos/s101423_h3_aa.png" height="270" width="360"></icon>
      </channel>

Authentication issues?

Hello there. Just pulled and built project and tried to perform the initial set up. I get the following errors:

:~/source/guide2go$ ./guide2go -configure config.yaml
2023/01/12 07:33:02 [G2G ] Version: 1.2.0
2023/01/12 07:33:02 [URL ] https://json.schedulesdirect.org/20141201/token
2023/01/12 07:33:03 [ERROR] Password hash must be lowercase 40 character sha1_hex of password. [SD API Error Code: 4002]

2023/01/12 07:33:03 [URL ] https://json.schedulesdirect.org/20141201/status
2023/01/12 07:33:03 [ERROR] Token required but not provided in header or request URI. [SD API Error Code: 1004]`

I know ScheduleDirect requires the use of tokens. Is there something else I need to do? Thank you!

Error when running

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
gudie2go -config filename

Expected behavior
it works

Error

panic: assignment to entry in nil map

goroutine 1 [running]:
_/home/bgidiere/guide2go/src.loadCachFile(0x7ffc73f23385, 0x7)
    /home/bgidiere/guide2go/src/config.go:964 +0x18e
_/home/bgidiere/guide2go/src.GetData(0x7ffc73f23385, 0x7)

    /home/bgidiere/guide2go/src/config.go:823 +0x257
main.main()
    /home/bgidiere/guide2go/guide2go.go:35 +0x132```

**Desktop (please complete the following information):**
 - OS: Ubuntu
 - Version 18.10


Sub-title added to the programme description

Describe the bug
Sub-title added to the programme description

Screenshots
How it looks using guide2go
image
How it looks using xmltv
image

You can see guide2go adds the sub-title in brackets at the end of the description
[Premier League: Watford v Arsenal]

Beta: Not getting some images from SD

Describe the bug
Beta doesn't get images for some shows/movies

Expected behavior
Images for shows/movies

Screenshots
Nornal guide2go Version: 1.0.5
image
Beta guide2go Version: 1.1.0
image

Also noticed it doesn't get the sub-title in the beta too.

Custom Lineup possible?

Hello,

I just found your go application here on github and I think it would be exactly what I need but I only have 1 question.

Can I somehow specify a own lineup ? I mean I only need the EPG data for specific channels.

And if it is possible how would the custom lineup file look like? If there is nothing like that existing yet ..maybe something like this?

<?xml version="1.0" encoding="utf-8"?>
  <CustomLineup name="Test" lineup="CUSTOM-01">
    <station number="1" subnumber="0" callsign="FOXDHD" name="FOX HD">83585</station>
</CustomLineup>

best regards
gelsas

New episodes not flagged as "new" in PleX EPG

Describe the bug
New episodes don't flag as "new" in PleX when using xTeVe EPG (using guide2go & SchedulesDirect). It appears to be that with new episodes there is also an empty previously-shown tag. When I remove that tag and reload everything, it flags as expected.

    <previously-shown></previously-shown>
    <new></new>

To Reproduce
Steps to reproduce the behavior:

  1. Create an XML file
  2. Find new episodes, which also have previously-shown tag.
  3. Find episode in PleX, new tag is not displayed.
  4. Remove empty previously-shown tag from original xml.
  5. Reload xml in xTeVe
  6. Update guide in PleX
  7. Find same episode in PleX guide, new tag is now displayed.

Expected behavior
New tag should be displayed.

Screenshots
PleX EPG: https://imgur.com/36LuScC
xTeVe EPG: https://imgur.com/BDg8Zc2

Desktop (please complete the following information):
xTeVe: 2.1.2
guide2go: 1.1.2
PleX: 1.19.4.2935

Additional context
I wasn't sure where the bug lies -- if this is a guide2go, xTeVe, or PleX bug. Thanks for your help!

cannot unmarshal string into Go struct field

Having an issue updating the guide2go today, using schedules direct.

2021/12/15 19:14:20 [URL ] https://json.schedulesdirect.org/20141201/lineups/USA-TX64967-X
2021/12/15 19:14:21 [ERROR] json: cannot unmarshal string into Go struct field Station.stations.broadcastLanguage of type []string
2021/12/15 19:14:21 [ERROR] json: cannot unmarshal string into Go struct field .stations.broadcastLanguage of type []string
2021/12/15 19:14:21 [G2G ] Download Schedule: 14 Day(s)

[ERROR] invalid character '<' looking for beginning of value

guide2go frequently throws the error "[ERROR] invalid character '<' looking for beginning of value" and fails to fetch guide data.

2022/01/16 00:00:02 [G2G ] Version: 1.1.3
2022/01/16 00:00:02 [URL ] https://json.schedulesdirect.org/20141201/token
2022/01/16 00:00:04 [SD ] Login...OK
2022/01/16 00:00:04 [URL ] https://json.schedulesdirect.org/20141201/status
2022/01/16 00:00:13 [SD ] Account Expires: 2022-02-14 23:07:14 +0000 UTC
2022/01/16 00:00:13 [SD ] Lineups: 4 / 4
2022/01/16 00:00:13 [SD ] System Status: Online [No known issues.]
2022/01/16 00:00:13 [G2G ] Channels: 501
2022/01/16 00:00:13 [URL ] https://json.schedulesdirect.org/20141201/lineups/X
2022/01/16 00:00:15 [URL ] https://json.schedulesdirect.org/20141201/lineups/X
2022/01/16 00:00:17 [URL ] https://json.schedulesdirect.org/20141201/lineups/X
2022/01/16 00:00:19 [URL ] https://json.schedulesdirect.org/20141201/lineups/X
2022/01/16 00:00:21 [G2G ] Download Schedule: 5 Day(s)
2022/01/16 00:00:21 [URL ] https://json.schedulesdirect.org/20141201/schedules
2022/01/16 00:05:33 [ERROR] invalid character '<' looking for beginning of value <-- HERE IS THE ERROR
2022/01/16 00:05:33 [G2G ] Download Program Informations: New: 0 / Cached: 0
2022/01/16 00:05:33 [G2G ] Download missing Metadata: 0
2022/01/16 00:05:34 [G2G ] Create XMLTV File [/path/to/schedule.xml]
2022/01/16 00:05:34 [G2G ] Clean up Cache [/path/to/cache.json]
2022/01/16 00:05:34 [G2G ] Deleted Program Informations: 0

guide2go doesn't always throw this error. It's hit or miss but it happens quite frequently that it needs to be reported. This has been an issue for almost a year. guide2go should automatically detect errors like this and either 1) retry or 2) fail gracefully without over writing my old guide data. Or both. I would prefer it fails gracefully and not over write my old guide data so when xTeVe/Plex refresh the guide before I notice the problem the guide won't break.

[ERROR] json: cannot unmarshal number into Go struct field SDSchedule.stationID of type string

Describe the bug

Download schedules fail with error:
json: cannot unmarshal number into Go struct field SDSchedule.stationID of type string

config_cache.json is empty:
{ "Channel": {}, "Program": {}, "Metadata": {}, "Schedule": {} }

To Reproduce
Steps to reproduce the behavior:

  1. Create a configuration (see README.md)
  2. Run guide2go -config /path/config.yaml
  3. See error

Expected behavior

Successful loading of schedules and a populated config.xml file.

Screenshots

guide2go -config /path/config.yaml
2020/09/22 22:18:59 [G2G  ] Version: 1.1.2
2020/09/22 22:18:59 [URL  ] https://json.schedulesdirect.org/20141201/token
2020/09/22 22:18:59 [SD   ] Login...OK

2020/09/22 22:18:59 [URL  ] https://json.schedulesdirect.org/20141201/status
2020/09/22 22:19:00 [SD   ] Account Expires: 2021-07-11 20:57:17 +0000 UTC
2020/09/22 22:19:00 [SD   ] Lineups: 2 / 4
2020/09/22 22:19:00 [SD   ] System Status: Online [No known issues.]
2020/09/22 22:19:00 [G2G  ] Channels: 427
2020/09/22 22:19:00 [URL  ] https://json.schedulesdirect.org/20141201/lineups/DEU-1000095-DEFAULT
2020/09/22 22:19:00 [URL  ] https://json.schedulesdirect.org/20141201/lineups/DEU-1000097-DEFAULT
2020/09/22 22:19:00 [G2G  ] Download Schedule: 7 Day(s)
2020/09/22 22:19:00 [URL  ] https://json.schedulesdirect.org/20141201/schedules
2020/09/22 22:19:05 [ERROR] json: cannot unmarshal number into Go struct field SDSchedule.stationID of type string
2020/09/22 22:19:05 [G2G  ] Download Program Informations: New: 0 / Cached: 0
2020/09/22 22:19:05 [G2G  ] Download missing Metadata: 0 
2020/09/22 22:19:05 [G2G  ] Create XMLTV File [/path/config.xml]
2020/09/22 22:19:05 [G2G  ] Clean up Cache [/path/config_cache.json]
2020/09/22 22:19:05 [G2G  ] Deleted Program Informations: 0

Additional context

config.yaml:

Account:
    Username: ***
    Password: ***
Files:
    Cache: /path/config_cache.json
    XMLTV: /path/config.xml
Options:
    Poster Aspect: all
    Schedule Days: 7
    Subtitle into Description: false
    Insert credits tag into XML file: true
    Rating:
        Insert rating tag into XML file: true
        Maximum rating entries. 0 for all entries: 1
        Preferred countries. ISO 3166-1 alpha-3 country code. Leave empty for all systems: []
        Use country code as rating system: false
    Show download errors from Schedules Direct in the log: false
Station:
  - Name: DMAX Austria HD
    ID: "101673"
    Lineup: DEU-1000097-DEFAULT
  - Name: Deluxe Music HD Austria
    ID: "106108"
    Lineup: DEU-1000097-DEFAULT
  - Name: Deluxe Music TV Europe
    ID: "83569"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 1
    ID: "97076"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 2
    ID: "97094"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 3
    ID: "97075"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 4
    ID: "99737"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 5
    ID: "99738"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 6
    ID: "99741"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 7
    ID: "99742"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 8
    ID: "99739"
    Lineup: DEU-1000097-DEFAULT
  - Name: Eurosport 360 HD 9
    ID: "99734"
    Lineup: DEU-1000097-DEFAULT
  - Name: FOX
    ID: "83584"
    Lineup: DEU-1000097-DEFAULT
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.