K-vanc / Tempest-EPG-Generator

The fastest XMLTV formatted EPG Generator with GUI and the lowest memory usage
https://hub.docker.com/r/kvanc/tempest_epg
Other
100 stars 17 forks source link

How to use on the command line (headless)? #76

Closed probonopd closed 6 months ago

probonopd commented 6 months ago

Issue Type

Please choose your issue type

OS Details (Not required for Request)

Please choose your OS

Please write your version details (Below not required for Docker)

Please write your web server name(Apache/Nginx etc.) or tick shared host if you are running on a shared host service / server (VPS, Web Hosting etc.)

Expected Behavior (Not required for Request)

How can I invoke this from the command line (with no web server and no web browser) on a headless system, so that it generates a xmltv gz for a given country/channel list?

E.g., php ./tempest.php engine=Generate createxmlgz=on createinvxmlgz=on

But it seems to require some configuration file. How can I create this without a web browser and without a web server? I'd just like to point it to one of the files in Siteconfigs/.

Current Behavior (Not required for Request)

It is unclear how to create a xmltv gz for a given country/channel list on the command line.

Steps to Reproduce (Not required for Request/Question)

git clone this repository, then run , php ./tempest.php engine=Generate createxmlgz=on createinvxmlgz=on without having any existing configuration files.

K-vanc commented 6 months ago

Hi,

On your first run of Tempest for your case from cli as "php ./tempest.php", it will create its own folder structure near as "/tempest_config". In this folder there is a subfolder for siteconfig/channels. You should store all your siteconfigs into generated "/tempest_config/site_config/" directory so Tempest will find when needed. Now for the second part of your question, again in first run, default configuration file will be created inside "/tempest_config" folder. If you dont have any gui access, you need to edit this file with any text editor and paste the channel you want inside of this file.

image

as you can see on photo, I have multiple config.xml files with different setups and purpose. Default one is "tempest.config.xml" so when you call "php ./tempest.php engine=Generate", Tempest will directly look for this configuration. if you want to use another named, then you need to add "tempconfig" parameter so it will be like

"php ./tempest.php engine=Generate tempconfig=tester.config.xml"

You can find more details about how to use cli modes for grabbing/channel creation and update in TempestWIKI.pdf file.

And finally, copy/pasted channels that you want to grab, shall be stored like this inside config file;

image

but for manual editing xml files, you need to be very careful. Tempest Gui mode has lots of auto checks and corrections for syntax errors. If you wrongly edit, you may break the file syntax and it will not work. Hope this helps

EDIT

For a few more information, createxmlgz=on parameter will create a gzipped copy of generated file and createinvxmlgz=on will create another gzipped copy of inverted file. Inverter a module that allows user to move/modify xmltv elements based on their needs. It is very specific so better to read it from TempestWIKI.pdf if you need. All generated epg xml files will be stored in "/tempest_config/epg/" directory.