Skip to content
Hika van den Hoven edited this page May 5, 2017 · 31 revisions

Welcome to the tvgrabpyAPI wiki!

The User pages

The developer pages

Features:

  • Anybody wanting to create and maintain a tv_grabber does not need to know coding. He/she only needs to manipulate the JSON data-files. A grabber can get created within a week.

  • Three step process with each also several sub-steps. This leaves open the future development of other input or output formats.

    • Data extraction from JSON or HTML using DataTreeGrab creating a uniform internal data format. This data is stored in the cache for reuse.
    • Merging the data from the several sources into one channel/program tree, performing optional theTVDB.com lookups.
    • Data-output in XMLTV format
  • All extracted data is stored in a sqlite database and reused on subsequent fetches. Only data not already fetched and the data for the current day is retrieved from the source(s). Optionally with the use-only-cache option one can for that run exclude internet retrieval and only merge and create the allready in cache available data.

  • Data extraction, merging and manipulation is fully driven by json data-files. The two main files are downloaded on every run and the others on an indicated update in the main file. This way all source related updates can be handled without the user needing to upgrade. The user only may need to re-run --configure to implement lineup changes into his/her configuration. The maintainer can notify the users of such changes through his/her log file.

  • Multi-threading with each source, each channel, logging and caching each on their own thread.

  • Extensive list of user-settable options to give a user maximum oportunity to adapt the program to his or her need.

  • Independent settable timezones for the fetching process, every source and a by the user settable output timezone. Internally all datetimes are stored in GMT.

  • Every channel has a by the maintainer set prime_source that will supply the start and stop times for the programmes. A user can overrule this value. Next to that the user can set the prefered_description to the source he/she finds to supply the best descriptions for that channel.

  • Multi language support for all messages and for the log. At present only English and Dutch.

  • Flexible two step user setable genre translation tables with developer settable defaults. First from every source to a by the maintainer set standard and next optional to a by the user desired for his program optimized set. These tables can be found after the first run at ~/.xmltv/tv_grab_xx_py.set, where xx stands for the specific grabber frontends language/nation code.

And many more!

Possible future extentions/updates:

  • theMovieDB.com lookup
  • Optional SchedulesDirect JSON integration
  • Adding support for the not jet supported url-types
  • More languages . Please supply them!
  • Updates on some not jet fuly implemented options like use_split_episodes
  • Updates on the development and debugging tools
  • ...
  • Let us know if you're missing anything.