Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jef/zap2xml

Repository files navigation

zap2xml

Automate TV guides to XMLTV format. Easy to use, up-to-date. See below for getting started.

I also somewhat maintain a version of the original in the historical-perl branch if you're interested in that.

How to use

Node.js

npm i && npm run build && node dist/index.js

See Command line arguments for configuration options.

Docker

Tag Description
latest Stable zap2xml releases
nightly HEAD zap2xml release

docker-compose

services:
 zap2xml:
 container_name: zap2xml
 image: ghcr.io/jef/zap2xml:latest
 environment:
 OUTPUT_FILE: /xmltv/xmltv.xml
 volumes:
 - ./xmltv:/xmltv
 restart: unless-stopped

See Environment variables for configuration options.

Configuration

Environment variables

Variable Description Default
LINEUP_ID Lineup ID; Read more in the Wiki USA-lineupId-DEFAULT (Attenna)
TIMESPAN Timespan in hours (up to 360 = 15 days, default: 6) 6
PREF User Preferences, comma separated list. m for showing music, p for showing pay-per-view, h for showing HD (empty)
COUNTRY Country code (default: USA) USA
POSTAL_CODE Postal code of where shows are available. 30309
USER_AGENT Custom user agent string for HTTP requests. Uses random if not specified
TZ Timezone System default
SLEEP_TIME Sleep time before next run in seconds (default: 21600, Only used with Docker.) 21600
OUTPUT_FILE Output file name (default: xmltv.xml) xmltv.xml

Command line arguments

Argument Description Default
--lineupId Lineup ID; Read more in the Wiki USA-lineupId-DEFAULT (Attenna)
--timespan Timespan in hours (up to 360 = 15 days, default: 6) 6
--pref User Preferences, comma separated list. m for showing music, p for showing pay-per-view, h for showing HD (empty)
--country Country code (default: USA) USA
--postalCode Postal code of where shows are available. 30309
--userAgent Custom user agent string for HTTP requests. Uses random if not specified
--timezone Timezone System default
--outputFile Output file name (default: xmltv.xml) xmltv.xml

Setup and running in intervals

Running natively

You can run zap2xml natively on your system. It is recommended to use a task scheduler to run it in intervals.

Here are some links to get you started on your machine:

If you want to run zap2xml in intervals, you can use a task scheduler like cron on Linux or the Task Scheduler on Windows. Each of the wiki pages above has a section on how to set up zap2xml to run in intervals.

Running in Docker

You can run zap2xml in a Docker container. The SLEEP_TIME environment variable can be used to set the interval between runs. The default is 21600 seconds (6 hours).

FAQ

How do I get my Lineup ID?

Visit https://github.com/jef/zap2xml/wiki/Retrieving-Lineup-ID

About

πŸ“Ί Automate TV guides to XMLTV

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /