xmltv
XMLTV for electronic program guide (EPG) parser and generator using serde.
Features
- Flatten some elements like
<new/>to be a boolean in order to avoid boilerplate - CLI available to perform some operations
Usage
Library
use FromStr;
use from_str;
use to_string_with_root;
use *;
To serialize big files, you can look into tests/from_files.rs::test_programmes_from_files.
It reads programmes one by one without loading everything in RAM.
Command line interface (CLI)
Install it with cargo install xmltv or with the binaries.
Roadmap
- CLI
- filter channels
-c <channel list>or--channels <channel list> - limit to N days
-d <number>.-d 3means from today and the nex 3 days - clean: remove some unwanted elements to make it lighter. You can remove description
--no-description, all credits--no-creditsor partial one (--no-directors,--no-actors,--no-guests, ...),--no-categories,--no-keywords,--no-countries, ... You can also remove unwanted time slot(s) (like between 0:00-6:00 and/or 23:30-23:59) or unwanted day(s)--days 1,2,3,5,6,7(here no thursday, first day is monday). - load external filter (
-l <FILE>or--load <FILE>) from a configuration file to avoid a command with too many arguments or just to follow favorite programmes.
- filter channels
- Terminal UI (TUI)
--ui- check channels to filter
- search in the title (and maybe other like keywords, desciption, credits)
- show EPG
- export selected program to calendar (
.ics) - configure favorites and filters?
Ressources
XMLTV DTD is here: https://github.com/XMLTV/xmltv/blob/master/xmltv.dtd